ember-source 2.7.0.beta.1 → 2.7.0.beta.2
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +16 -111
- data/dist/ember-template-compiler.js +226 -251
- data/dist/ember-testing.js +48 -7
- data/dist/ember.debug.js +690 -439
- data/dist/ember.js +690 -439
- data/dist/ember.min.js +14 -14
- data/dist/ember.prod.js +669 -334
- metadata +2 -2
    
        data/dist/ember-testing.js
    CHANGED
    
    | @@ -6,7 +6,7 @@ | |
| 6 6 | 
             
             *            Portions Copyright 2008-2011 Apple Inc. All rights reserved.
         | 
| 7 7 | 
             
             * @license   Licensed under MIT license
         | 
| 8 8 | 
             
             *            See https://raw.github.com/emberjs/ember.js/master/LICENSE
         | 
| 9 | 
            -
             * @version   2.7.0-beta. | 
| 9 | 
            +
             * @version   2.7.0-beta.2
         | 
| 10 10 | 
             
             */
         | 
| 11 11 |  | 
| 12 12 | 
             
            var enifed, requireModule, require, Ember;
         | 
| @@ -485,6 +485,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-environment', | |
| 485 485 | 
             
                _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
         | 
| 486 486 | 
             
                var featuresWereStripped = true;
         | 
| 487 487 |  | 
| 488 | 
            +
                if (false) {
         | 
| 489 | 
            +
                  exports.featuresWereStripped = featuresWereStripped = false;
         | 
| 490 | 
            +
                }
         | 
| 491 | 
            +
             | 
| 488 492 | 
             
                delete _emberMetalFeatures.FEATURES['features-stripped-test'];
         | 
| 489 493 | 
             
                _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
         | 
| 490 494 |  | 
| @@ -1175,13 +1179,12 @@ enifed('ember-testing/helpers/key_event', ['exports'], function (exports) { | |
| 1175 1179 | 
             
                return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
         | 
| 1176 1180 | 
             
              }
         | 
| 1177 1181 | 
             
            });
         | 
| 1178 | 
            -
            enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp' | 
| 1182 | 
            +
            enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp'], function (exports, _emberRuntimeExtRsvp) {
         | 
| 1179 1183 | 
             
              'use strict';
         | 
| 1180 1184 |  | 
| 1181 1185 | 
             
              exports.default = pauseTest;
         | 
| 1182 1186 |  | 
| 1183 1187 | 
             
              function pauseTest() {
         | 
| 1184 | 
            -
                _emberTestingTest.default.adapter.asyncStart();
         | 
| 1185 1188 | 
             
                return new _emberRuntimeExtRsvp.default.Promise(function () {}, 'TestAdapter paused promise');
         | 
| 1186 1189 | 
             
              }
         | 
| 1187 1190 | 
             
            });
         | 
| @@ -1525,7 +1528,7 @@ enifed('ember-testing/helpers', ['exports', 'ember-testing/test/helpers', 'ember | |
| 1525 1528 | 
             
               @return {Object} A promise that will never resolve
         | 
| 1526 1529 | 
             
               @public
         | 
| 1527 1530 | 
             
              */
         | 
| 1528 | 
            -
              _emberTestingTestHelpers. | 
| 1531 | 
            +
              _emberTestingTestHelpers.registerAsyncHelper('pauseTest', _emberTestingHelpersPause_test.default);
         | 
| 1529 1532 |  | 
| 1530 1533 | 
             
              /**
         | 
| 1531 1534 | 
             
                Triggers the given DOM event on the element identified by the provided selector.
         | 
| @@ -2045,12 +2048,14 @@ enifed('ember-testing/test/run', ['exports', 'ember-metal/run_loop'], function ( | |
| 2045 2048 | 
             
                }
         | 
| 2046 2049 | 
             
              }
         | 
| 2047 2050 | 
             
            });
         | 
| 2048 | 
            -
            enifed( | 
| 2049 | 
            -
               | 
| 2051 | 
            +
            enifed('ember-testing/test/waiters', ['exports', 'ember-metal/features', 'ember-metal/debug'], function (exports, _emberMetalFeatures, _emberMetalDebug) {
         | 
| 2052 | 
            +
              'use strict';
         | 
| 2050 2053 |  | 
| 2051 2054 | 
             
              exports.registerWaiter = registerWaiter;
         | 
| 2052 2055 | 
             
              exports.unregisterWaiter = unregisterWaiter;
         | 
| 2053 2056 | 
             
              exports.checkWaiters = checkWaiters;
         | 
| 2057 | 
            +
              exports.generateDeprecatedWaitersArray = generateDeprecatedWaitersArray;
         | 
| 2058 | 
            +
             | 
| 2054 2059 | 
             
              var contexts = [];
         | 
| 2055 2060 | 
             
              var callbacks = [];
         | 
| 2056 2061 |  | 
| @@ -2123,6 +2128,20 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) { | |
| 2123 2128 | 
             
                callbacks.splice(i, 1);
         | 
| 2124 2129 | 
             
              }
         | 
| 2125 2130 |  | 
| 2131 | 
            +
              /**
         | 
| 2132 | 
            +
                Iterates through each registered test waiter, and invokes
         | 
| 2133 | 
            +
                its callback. If any waiter returns false, this method will return
         | 
| 2134 | 
            +
                true indicating that the waiters have not settled yet.
         | 
| 2135 | 
            +
              
         | 
| 2136 | 
            +
                This is generally used internally from the acceptance/integration test
         | 
| 2137 | 
            +
                infrastructure.
         | 
| 2138 | 
            +
              
         | 
| 2139 | 
            +
                @public
         | 
| 2140 | 
            +
                @for Ember.Test
         | 
| 2141 | 
            +
                @static
         | 
| 2142 | 
            +
                @method checkWaiters
         | 
| 2143 | 
            +
              */
         | 
| 2144 | 
            +
             | 
| 2126 2145 | 
             
              function checkWaiters() {
         | 
| 2127 2146 | 
             
                if (!callbacks.length) {
         | 
| 2128 2147 | 
             
                  return false;
         | 
| @@ -2145,8 +2164,22 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) { | |
| 2145 2164 | 
             
                }
         | 
| 2146 2165 | 
             
                return -1;
         | 
| 2147 2166 | 
             
              }
         | 
| 2167 | 
            +
             | 
| 2168 | 
            +
              function generateDeprecatedWaitersArray() {
         | 
| 2169 | 
            +
                _emberMetalDebug.deprecate('Usage of `Ember.Test.waiters` is deprecated. Please refactor to `Ember.Test.checkWaiters`.', !false, { until: '2.8.0', id: 'ember-testing.test-waiters' });
         | 
| 2170 | 
            +
             | 
| 2171 | 
            +
                var array = new Array(callbacks.length);
         | 
| 2172 | 
            +
                for (var i = 0; i < callbacks.length; i++) {
         | 
| 2173 | 
            +
                  var context = contexts[i];
         | 
| 2174 | 
            +
                  var callback = callbacks[i];
         | 
| 2175 | 
            +
             | 
| 2176 | 
            +
                  array[i] = [context, callback];
         | 
| 2177 | 
            +
                }
         | 
| 2178 | 
            +
             | 
| 2179 | 
            +
                return array;
         | 
| 2180 | 
            +
              }
         | 
| 2148 2181 | 
             
            });
         | 
| 2149 | 
            -
            enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter) {
         | 
| 2182 | 
            +
            enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter', 'ember-metal/features'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter, _emberMetalFeatures) {
         | 
| 2150 2183 | 
             
              /**
         | 
| 2151 2184 | 
             
                @module ember
         | 
| 2152 2185 | 
             
                @submodule ember-testing
         | 
| @@ -2185,6 +2218,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te | |
| 2185 2218 | 
             
                unregisterWaiter: _emberTestingTestWaiters.unregisterWaiter
         | 
| 2186 2219 | 
             
              };
         | 
| 2187 2220 |  | 
| 2221 | 
            +
              if (false) {
         | 
| 2222 | 
            +
                Test.checkWaiters = _emberTestingTestWaiters.checkWaiters;
         | 
| 2223 | 
            +
              }
         | 
| 2224 | 
            +
             | 
| 2188 2225 | 
             
              /**
         | 
| 2189 2226 | 
             
               Used to allow ember-testing to communicate with a specific testing
         | 
| 2190 2227 | 
             
               framework.
         | 
| @@ -2210,6 +2247,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te | |
| 2210 2247 | 
             
                set: _emberTestingTestAdapter.setAdapter
         | 
| 2211 2248 | 
             
              });
         | 
| 2212 2249 |  | 
| 2250 | 
            +
              Object.defineProperty(Test, 'waiters', {
         | 
| 2251 | 
            +
                get: _emberTestingTestWaiters.generateDeprecatedWaitersArray
         | 
| 2252 | 
            +
              });
         | 
| 2253 | 
            +
             | 
| 2213 2254 | 
             
              exports.default = Test;
         | 
| 2214 2255 | 
             
            });
         | 
| 2215 2256 | 
             
            requireModule("ember-testing");
         | 
    
        data/dist/ember.debug.js
    CHANGED
    
    | @@ -6,7 +6,7 @@ | |
| 6 6 | 
             
             *            Portions Copyright 2008-2011 Apple Inc. All rights reserved.
         | 
| 7 7 | 
             
             * @license   Licensed under MIT license
         | 
| 8 8 | 
             
             *            See https://raw.github.com/emberjs/ember.js/master/LICENSE
         | 
| 9 | 
            -
             * @version   2.7.0-beta. | 
| 9 | 
            +
             * @version   2.7.0-beta.2
         | 
| 10 10 | 
             
             */
         | 
| 11 11 |  | 
| 12 12 | 
             
            var enifed, requireModule, require, Ember;
         | 
| @@ -3751,7 +3751,7 @@ enifed('ember/index', ['exports', 'ember-metal', 'ember-runtime', 'ember-views', | |
| 3751 3751 | 
             
            enifed("ember/version", ["exports"], function (exports) {
         | 
| 3752 3752 | 
             
              "use strict";
         | 
| 3753 3753 |  | 
| 3754 | 
            -
              exports.default = "2.7.0-beta. | 
| 3754 | 
            +
              exports.default = "2.7.0-beta.2";
         | 
| 3755 3755 | 
             
            });
         | 
| 3756 3756 | 
             
            enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/features', 'ember-runtime/system/lazy_load', 'ember-application/system/resolver', 'ember-application/system/application', 'ember-application/system/application-instance', 'ember-application/system/engine', 'ember-application/system/engine-instance'], function (exports, _emberMetalCore, _emberMetalFeatures, _emberRuntimeSystemLazy_load, _emberApplicationSystemResolver, _emberApplicationSystemApplication, _emberApplicationSystemApplicationInstance, _emberApplicationSystemEngine, _emberApplicationSystemEngineInstance) {
         | 
| 3757 3757 | 
             
              'use strict';
         | 
| @@ -3760,6 +3760,15 @@ enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/f | |
| 3760 3760 | 
             
              _emberMetalCore.default.Resolver = _emberApplicationSystemResolver.Resolver;
         | 
| 3761 3761 | 
             
              _emberMetalCore.default.DefaultResolver = _emberApplicationSystemResolver.default;
         | 
| 3762 3762 |  | 
| 3763 | 
            +
              if (false) {
         | 
| 3764 | 
            +
                _emberMetalCore.default.Engine = _emberApplicationSystemEngine.default;
         | 
| 3765 | 
            +
             | 
| 3766 | 
            +
                // Expose `EngineInstance` and `ApplicationInstance` for easy overriding.
         | 
| 3767 | 
            +
                // Reanalyze whether to continue exposing these after feature flag is removed.
         | 
| 3768 | 
            +
                _emberMetalCore.default.EngineInstance = _emberApplicationSystemEngineInstance.default;
         | 
| 3769 | 
            +
                _emberMetalCore.default.ApplicationInstance = _emberApplicationSystemApplicationInstance.default;
         | 
| 3770 | 
            +
              }
         | 
| 3771 | 
            +
             | 
| 3763 3772 | 
             
              _emberRuntimeSystemLazy_load.runLoadHooks('Ember.Application', _emberApplicationSystemApplication.default);
         | 
| 3764 3773 | 
             
            });
         | 
| 3765 3774 | 
             
            // reexports
         | 
| @@ -3768,9 +3777,6 @@ enifed('ember-application/index', ['exports', 'ember-metal/core', 'ember-metal/f | |
| 3768 3777 | 
             
            @module ember
         | 
| 3769 3778 | 
             
            @submodule ember-application
         | 
| 3770 3779 | 
             
            */
         | 
| 3771 | 
            -
             | 
| 3772 | 
            -
            // Expose `EngineInstance` and `ApplicationInstance` for easy overriding.
         | 
| 3773 | 
            -
            // Reanalyze whether to continue exposing these after feature flag is removed.
         | 
| 3774 3780 | 
             
            enifed('ember-application/system/application-instance', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/run_loop', 'ember-metal/computed', 'ember-runtime/mixins/registry_proxy', 'ember-metal/assign', 'ember-environment', 'ember-runtime/ext/rsvp', 'ember-views/system/jquery', 'ember-application/system/engine-instance'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalRun_loop, _emberMetalComputed, _emberRuntimeMixinsRegistry_proxy, _emberMetalAssign, _emberEnvironment, _emberRuntimeExtRsvp, _emberViewsSystemJquery, _emberApplicationSystemEngineInstance) {
         | 
| 3775 3781 | 
             
              /**
         | 
| 3776 3782 | 
             
              @module ember
         | 
| @@ -4372,9 +4378,8 @@ enifed('ember-application/system/application', ['exports', 'ember-environment', | |
| 4372 4378 | 
             
                not receive events.* If you specify a custom root element, make sure you only
         | 
| 4373 4379 | 
             
                append views inside it!
         | 
| 4374 4380 |  | 
| 4375 | 
            -
                To learn more about the  | 
| 4376 | 
            -
                 | 
| 4377 | 
            -
                [Ember View Layer guide](http://emberjs.com/guides/understanding-ember/the-view-layer/#toc_event-delegation).
         | 
| 4381 | 
            +
                To learn more about the events Ember components use, see
         | 
| 4382 | 
            +
                [components/handling-events](https://guides.emberjs.com/v2.6.0/components/handling-events/#toc_event-names).
         | 
| 4378 4383 |  | 
| 4379 4384 | 
             
                ### Initializers
         | 
| 4380 4385 |  | 
| @@ -5144,13 +5149,12 @@ enifed('ember-application/system/application', ['exports', 'ember-environment', | |
| 5144 5149 | 
             
                    `controller` property
         | 
| 5145 5150 | 
             
                  * the application view receives the application template as its
         | 
| 5146 5151 | 
             
                    `defaultTemplate` property
         | 
| 5147 | 
            -
                   @ | 
| 5148 | 
            -
                  @method buildRegistry
         | 
| 5152 | 
            +
                   @method buildRegistry
         | 
| 5149 5153 | 
             
                  @static
         | 
| 5150 5154 | 
             
                  @param {Ember.Application} namespace the application for which to
         | 
| 5151 5155 | 
             
                    build the registry
         | 
| 5152 5156 | 
             
                  @return {Ember.Registry} the built registry
         | 
| 5153 | 
            -
                  @ | 
| 5157 | 
            +
                  @private
         | 
| 5154 5158 | 
             
                */
         | 
| 5155 5159 | 
             
                buildRegistry: function (application) {
         | 
| 5156 5160 | 
             
                  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
         | 
| @@ -5231,6 +5235,10 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy | |
| 5231 5235 |  | 
| 5232 5236 | 
             
              'use strict';
         | 
| 5233 5237 |  | 
| 5238 | 
            +
              var _templateObject = _taggedTemplateLiteralLoose(['-bucket-cache:main'], ['-bucket-cache:main']);
         | 
| 5239 | 
            +
             | 
| 5240 | 
            +
              function _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; }
         | 
| 5241 | 
            +
             | 
| 5234 5242 | 
             
              /**
         | 
| 5235 5243 | 
             
                The `EngineInstance` encapsulates all of the stateful aspects of a
         | 
| 5236 5244 | 
             
                running `Engine`.
         | 
| @@ -5318,6 +5326,10 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy | |
| 5318 5326 |  | 
| 5319 5327 | 
             
                  _emberMetalDebug.assert('An engine instance\'s parent must be set via `setEngineParent(engine, parent)` prior to calling `engine.boot()`.', _emberApplicationSystemEngineParent.getEngineParent(this));
         | 
| 5320 5328 |  | 
| 5329 | 
            +
                  if (false) {
         | 
| 5330 | 
            +
                    this.cloneParentDependencies();
         | 
| 5331 | 
            +
                  }
         | 
| 5332 | 
            +
             | 
| 5321 5333 | 
             
                  this.base.runInstanceInitializers(this);
         | 
| 5322 5334 |  | 
| 5323 5335 | 
             
                  this._booted = true;
         | 
| @@ -5347,25 +5359,57 @@ enifed('ember-application/system/engine-instance', ['exports', 'ember-runtime/sy | |
| 5347 5359 | 
             
                }
         | 
| 5348 5360 | 
             
              });
         | 
| 5349 5361 |  | 
| 5350 | 
            -
               | 
| 5351 | 
            -
             | 
| 5362 | 
            +
              if (false) {
         | 
| 5363 | 
            +
                EngineInstance.reopen({
         | 
| 5364 | 
            +
                  /**
         | 
| 5365 | 
            +
                    Build a new `Ember.EngineInstance` that's a child of this instance.
         | 
| 5366 | 
            +
                     Engines must be registered by name with their parent engine
         | 
| 5367 | 
            +
                    (or application).
         | 
| 5368 | 
            +
                     @private
         | 
| 5369 | 
            +
                    @method buildChildEngineInstance
         | 
| 5370 | 
            +
                    @param name {String} the registered name of the engine.
         | 
| 5371 | 
            +
                    @param options {Object} options provided to the engine instance.
         | 
| 5372 | 
            +
                    @return {Ember.EngineInstance,Error}
         | 
| 5373 | 
            +
                  */
         | 
| 5374 | 
            +
                  buildChildEngineInstance: function (name) {
         | 
| 5375 | 
            +
                    var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
         | 
| 5352 5376 |  | 
| 5353 | 
            -
             | 
| 5354 | 
            -
              Build a new `Ember.EngineInstance` that's a child of this instance.
         | 
| 5355 | 
            -
               Engines must be registered by name with their parent engine
         | 
| 5356 | 
            -
              (or application).
         | 
| 5357 | 
            -
               @private
         | 
| 5358 | 
            -
              @method buildChildEngineInstance
         | 
| 5359 | 
            -
              @param name {String} the registered name of the engine.
         | 
| 5360 | 
            -
              @param options {Object} options provided to the engine instance.
         | 
| 5361 | 
            -
              @return {Ember.EngineInstance,Error}
         | 
| 5362 | 
            -
            */
         | 
| 5377 | 
            +
                    var Engine = this.lookup('engine:' + name);
         | 
| 5363 5378 |  | 
| 5364 | 
            -
             | 
| 5365 | 
            -
             | 
| 5366 | 
            -
             | 
| 5367 | 
            -
             | 
| 5368 | 
            -
             | 
| 5379 | 
            +
                    if (!Engine) {
         | 
| 5380 | 
            +
                      throw new _emberMetalError.default('You attempted to mount the engine \'' + name + '\', but it is not registered with its parent.');
         | 
| 5381 | 
            +
                    }
         | 
| 5382 | 
            +
             | 
| 5383 | 
            +
                    var engineInstance = Engine.buildInstance(options);
         | 
| 5384 | 
            +
             | 
| 5385 | 
            +
                    _emberApplicationSystemEngineParent.setEngineParent(engineInstance, this);
         | 
| 5386 | 
            +
             | 
| 5387 | 
            +
                    return engineInstance;
         | 
| 5388 | 
            +
                  },
         | 
| 5389 | 
            +
             | 
| 5390 | 
            +
                  /**
         | 
| 5391 | 
            +
                    Clone dependencies shared between an engine instance and its parent.
         | 
| 5392 | 
            +
                     @private
         | 
| 5393 | 
            +
                    @method cloneParentDependencies
         | 
| 5394 | 
            +
                  */
         | 
| 5395 | 
            +
                  cloneParentDependencies: function () {
         | 
| 5396 | 
            +
                    var _this2 = this;
         | 
| 5397 | 
            +
             | 
| 5398 | 
            +
                    var parent = _emberApplicationSystemEngineParent.getEngineParent(this);
         | 
| 5399 | 
            +
             | 
| 5400 | 
            +
                    ['route:basic', 'event_dispatcher:main', _containerRegistry.privatize(_templateObject), 'service:-routing'].forEach(function (key) {
         | 
| 5401 | 
            +
                      _this2.register(key, parent.resolveRegistration(key));
         | 
| 5402 | 
            +
                    });
         | 
| 5403 | 
            +
             | 
| 5404 | 
            +
                    ['router:main', '-view-registry:main'].forEach(function (key) {
         | 
| 5405 | 
            +
                      _this2.register(key, parent.lookup(key), { instantiate: false });
         | 
| 5406 | 
            +
                    });
         | 
| 5407 | 
            +
                  }
         | 
| 5408 | 
            +
                });
         | 
| 5409 | 
            +
              }
         | 
| 5410 | 
            +
             | 
| 5411 | 
            +
              exports.default = EngineInstance;
         | 
| 5412 | 
            +
            });
         | 
| 5369 5413 | 
             
            enifed('ember-application/system/engine-parent', ['exports', 'ember-metal/symbol'], function (exports, _emberMetalSymbol) {
         | 
| 5370 5414 | 
             
              /**
         | 
| 5371 5415 | 
             
              @module ember
         | 
| @@ -5453,7 +5497,7 @@ enifed('ember-application/system/engine', ['exports', 'ember-runtime/system/name | |
| 5453 5497 | 
             
                  this._super.apply(this, arguments);
         | 
| 5454 5498 |  | 
| 5455 5499 | 
             
                  if (this[GLIMMER] === undefined) {
         | 
| 5456 | 
            -
                    this[GLIMMER] =  | 
| 5500 | 
            +
                    this[GLIMMER] = false;
         | 
| 5457 5501 | 
             
                  }
         | 
| 5458 5502 |  | 
| 5459 5503 | 
             
                  this.buildRegistry();
         | 
| @@ -5742,13 +5786,12 @@ enifed('ember-application/system/engine', ['exports', 'ember-runtime/system/name | |
| 5742 5786 | 
             
                    `controller` property
         | 
| 5743 5787 | 
             
                  * the application view receives the application template as its
         | 
| 5744 5788 | 
             
                    `defaultTemplate` property
         | 
| 5745 | 
            -
                   @ | 
| 5746 | 
            -
                  @method buildRegistry
         | 
| 5789 | 
            +
                   @method buildRegistry
         | 
| 5747 5790 | 
             
                  @static
         | 
| 5748 5791 | 
             
                  @param {Ember.Application} namespace the application for which to
         | 
| 5749 5792 | 
             
                    build the registry
         | 
| 5750 5793 | 
             
                  @return {Ember.Registry} the built registry
         | 
| 5751 | 
            -
                  @ | 
| 5794 | 
            +
                  @private
         | 
| 5752 5795 | 
             
                */
         | 
| 5753 5796 | 
             
                buildRegistry: function (namespace) {
         | 
| 5754 5797 | 
             
                  var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
         | 
| @@ -6053,10 +6096,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6053 6096 | 
             
                  Convert the string name of the form 'type:name' to
         | 
| 6054 6097 | 
             
                  a Javascript object with the parsed aspects of the name
         | 
| 6055 6098 | 
             
                  broken out.
         | 
| 6056 | 
            -
                   @ | 
| 6057 | 
            -
                  @param {String} fullName the lookup string
         | 
| 6099 | 
            +
                   @param {String} fullName the lookup string
         | 
| 6058 6100 | 
             
                  @method parseName
         | 
| 6059 | 
            -
                  @ | 
| 6101 | 
            +
                  @protected
         | 
| 6060 6102 | 
             
                */
         | 
| 6061 6103 |  | 
| 6062 6104 | 
             
                parseName: function (fullName) {
         | 
| @@ -6106,10 +6148,9 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6106 6148 | 
             
                  Application namespace in assertions to describe the
         | 
| 6107 6149 | 
             
                  precise name of the class that Ember is looking for, rather than
         | 
| 6108 6150 | 
             
                  container keys.
         | 
| 6109 | 
            -
                   @ | 
| 6110 | 
            -
                  @param {String} fullName the lookup string
         | 
| 6151 | 
            +
                   @param {String} fullName the lookup string
         | 
| 6111 6152 | 
             
                  @method lookupDescription
         | 
| 6112 | 
            -
                  @ | 
| 6153 | 
            +
                  @protected
         | 
| 6113 6154 | 
             
                */
         | 
| 6114 6155 | 
             
                lookupDescription: function (fullName) {
         | 
| 6115 6156 | 
             
                  var parsedName = this.parseName(fullName);
         | 
| @@ -6135,11 +6176,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6135 6176 | 
             
                /**
         | 
| 6136 6177 | 
             
                  Given a parseName object (output from `parseName`), apply
         | 
| 6137 6178 | 
             
                  the conventions expected by `Ember.Router`
         | 
| 6138 | 
            -
                   @ | 
| 6139 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6179 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6140 6180 | 
             
                    fullName lookup string
         | 
| 6141 6181 | 
             
                  @method useRouterNaming
         | 
| 6142 | 
            -
                  @ | 
| 6182 | 
            +
                  @protected
         | 
| 6143 6183 | 
             
                */
         | 
| 6144 6184 | 
             
                useRouterNaming: function (parsedName) {
         | 
| 6145 6185 | 
             
                  parsedName.name = parsedName.name.replace(/\./g, '_');
         | 
| @@ -6149,11 +6189,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6149 6189 | 
             
                },
         | 
| 6150 6190 | 
             
                /**
         | 
| 6151 6191 | 
             
                  Look up the template in Ember.TEMPLATES
         | 
| 6152 | 
            -
                   @ | 
| 6153 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6192 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6154 6193 | 
             
                    fullName lookup string
         | 
| 6155 6194 | 
             
                  @method resolveTemplate
         | 
| 6156 | 
            -
                  @ | 
| 6195 | 
            +
                  @protected
         | 
| 6157 6196 | 
             
                */
         | 
| 6158 6197 | 
             
                resolveTemplate: function (parsedName) {
         | 
| 6159 6198 | 
             
                  var templateName = parsedName.fullNameWithoutType.replace(/\./g, '/');
         | 
| @@ -6163,11 +6202,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6163 6202 |  | 
| 6164 6203 | 
             
                /**
         | 
| 6165 6204 | 
             
                  Lookup the view using `resolveOther`
         | 
| 6166 | 
            -
                   @ | 
| 6167 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6205 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6168 6206 | 
             
                    fullName lookup string
         | 
| 6169 6207 | 
             
                  @method resolveView
         | 
| 6170 | 
            -
                  @ | 
| 6208 | 
            +
                  @protected
         | 
| 6171 6209 | 
             
                */
         | 
| 6172 6210 | 
             
                resolveView: function (parsedName) {
         | 
| 6173 6211 | 
             
                  this.useRouterNaming(parsedName);
         | 
| @@ -6176,11 +6214,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6176 6214 |  | 
| 6177 6215 | 
             
                /**
         | 
| 6178 6216 | 
             
                  Lookup the controller using `resolveOther`
         | 
| 6179 | 
            -
                   @ | 
| 6180 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6217 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6181 6218 | 
             
                    fullName lookup string
         | 
| 6182 6219 | 
             
                  @method resolveController
         | 
| 6183 | 
            -
                  @ | 
| 6220 | 
            +
                  @protected
         | 
| 6184 6221 | 
             
                */
         | 
| 6185 6222 | 
             
                resolveController: function (parsedName) {
         | 
| 6186 6223 | 
             
                  this.useRouterNaming(parsedName);
         | 
| @@ -6188,11 +6225,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6188 6225 | 
             
                },
         | 
| 6189 6226 | 
             
                /**
         | 
| 6190 6227 | 
             
                  Lookup the route using `resolveOther`
         | 
| 6191 | 
            -
                   @ | 
| 6192 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6228 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6193 6229 | 
             
                    fullName lookup string
         | 
| 6194 6230 | 
             
                  @method resolveRoute
         | 
| 6195 | 
            -
                  @ | 
| 6231 | 
            +
                  @protected
         | 
| 6196 6232 | 
             
                */
         | 
| 6197 6233 | 
             
                resolveRoute: function (parsedName) {
         | 
| 6198 6234 | 
             
                  this.useRouterNaming(parsedName);
         | 
| @@ -6201,11 +6237,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6201 6237 |  | 
| 6202 6238 | 
             
                /**
         | 
| 6203 6239 | 
             
                  Lookup the model on the Application namespace
         | 
| 6204 | 
            -
                   @ | 
| 6205 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6240 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6206 6241 | 
             
                    fullName lookup string
         | 
| 6207 6242 | 
             
                  @method resolveModel
         | 
| 6208 | 
            -
                  @ | 
| 6243 | 
            +
                  @protected
         | 
| 6209 6244 | 
             
                */
         | 
| 6210 6245 | 
             
                resolveModel: function (parsedName) {
         | 
| 6211 6246 | 
             
                  var className = _emberRuntimeSystemString.classify(parsedName.name);
         | 
| @@ -6218,11 +6253,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6218 6253 | 
             
                /**
         | 
| 6219 6254 | 
             
                  Look up the specified object (from parsedName) on the appropriate
         | 
| 6220 6255 | 
             
                  namespace (usually on the Application)
         | 
| 6221 | 
            -
                   @ | 
| 6222 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6256 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6223 6257 | 
             
                    fullName lookup string
         | 
| 6224 6258 | 
             
                  @method resolveHelper
         | 
| 6225 | 
            -
                  @ | 
| 6259 | 
            +
                  @protected
         | 
| 6226 6260 | 
             
                */
         | 
| 6227 6261 | 
             
                resolveHelper: function (parsedName) {
         | 
| 6228 6262 | 
             
                  return this.resolveOther(parsedName);
         | 
| @@ -6230,11 +6264,10 @@ enifed('ember-application/system/resolver', ['exports', 'ember-metal/debug', 'em | |
| 6230 6264 | 
             
                /**
         | 
| 6231 6265 | 
             
                  Look up the specified object (from parsedName) on the appropriate
         | 
| 6232 6266 | 
             
                  namespace (usually on the Application)
         | 
| 6233 | 
            -
                   @ | 
| 6234 | 
            -
                  @param {Object} parsedName a parseName object with the parsed
         | 
| 6267 | 
            +
                   @param {Object} parsedName a parseName object with the parsed
         | 
| 6235 6268 | 
             
                    fullName lookup string
         | 
| 6236 6269 | 
             
                  @method resolveOther
         | 
| 6237 | 
            -
                  @ | 
| 6270 | 
            +
                  @protected
         | 
| 6238 6271 | 
             
                */
         | 
| 6239 6272 | 
             
                resolveOther: function (parsedName) {
         | 
| 6240 6273 | 
             
                  var className = _emberRuntimeSystemString.classify(parsedName.name) + _emberRuntimeSystemString.classify(parsedName.type);
         | 
| @@ -6482,10 +6515,12 @@ enifed('ember-console/index', ['exports', 'ember-environment'], function (export | |
| 6482 6515 | 
             
                   ```javascript
         | 
| 6483 6516 | 
             
                  Ember.Logger.assert(true); // undefined
         | 
| 6484 6517 | 
             
                  Ember.Logger.assert(true === false); // Throws an Assertion failed error.
         | 
| 6518 | 
            +
                  Ember.Logger.assert(true === false, 'Something invalid'); // Throws an Assertion failed error with message.
         | 
| 6485 6519 | 
             
                  ```
         | 
| 6486 6520 | 
             
                  @method assert
         | 
| 6487 6521 | 
             
                 @for Ember.Logger
         | 
| 6488 6522 | 
             
                 @param {Boolean} bool Value to test
         | 
| 6523 | 
            +
                 @param {String} message Assertion message on failed
         | 
| 6489 6524 | 
             
                 @public
         | 
| 6490 6525 | 
             
                */
         | 
| 6491 6526 | 
             
                assert: consoleMethod('assert') || assertPolyfill
         | 
| @@ -6864,6 +6899,10 @@ enifed('ember-debug/index', ['exports', 'ember-metal/core', 'ember-environment', | |
| 6864 6899 | 
             
                _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
         | 
| 6865 6900 | 
             
                var featuresWereStripped = true;
         | 
| 6866 6901 |  | 
| 6902 | 
            +
                if (false) {
         | 
| 6903 | 
            +
                  exports.featuresWereStripped = featuresWereStripped = false;
         | 
| 6904 | 
            +
                }
         | 
| 6905 | 
            +
             | 
| 6867 6906 | 
             
                delete _emberMetalFeatures.FEATURES['features-stripped-test'];
         | 
| 6868 6907 | 
             
                _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
         | 
| 6869 6908 |  | 
| @@ -8008,7 +8047,7 @@ enifed('ember-htmlbars/component', ['exports', 'ember-metal/debug', 'ember-metal | |
| 8008 8047 | 
             
                }),
         | 
| 8009 8048 |  | 
| 8010 8049 | 
             
                /**
         | 
| 8011 | 
            -
                  Calls  | 
| 8050 | 
            +
                  Calls an action passed to a component.
         | 
| 8012 8051 | 
             
                   For example a component for playing or pausing music may translate click events
         | 
| 8013 8052 | 
             
                  into action notifications of "play" or "stop" depending on some internal state
         | 
| 8014 8053 | 
             
                  of the component:
         | 
| @@ -9010,8 +9049,7 @@ enifed('ember-htmlbars/components/link-to', ['exports', 'ember-console', 'ember- | |
| 9010 9049 |  | 
| 9011 9050 | 
             
                /**
         | 
| 9012 9051 | 
             
                  Event handler that invokes the link, activating the associated route.
         | 
| 9013 | 
            -
                   @ | 
| 9014 | 
            -
                  @method _invoke
         | 
| 9052 | 
            +
                   @method _invoke
         | 
| 9015 9053 | 
             
                  @param {Event} event
         | 
| 9016 9054 | 
             
                  @private
         | 
| 9017 9055 | 
             
                */
         | 
| @@ -10405,9 +10443,15 @@ enifed('ember-htmlbars/hooks/component', ['exports', 'ember-metal/debug', 'ember | |
| 10405 10443 |  | 
| 10406 10444 | 
             
                // Determine if this is an initial render or a re-render.
         | 
| 10407 10445 | 
             
                if (state.manager) {
         | 
| 10408 | 
            -
                  var  | 
| 10446 | 
            +
                  var sm = state.manager;
         | 
| 10447 | 
            +
                  var templateMeta = null;
         | 
| 10448 | 
            +
                  if (sm.block) {
         | 
| 10449 | 
            +
                    templateMeta = sm.block.template.meta;
         | 
| 10450 | 
            +
                  } else if (sm.scope && sm.scope._view) {
         | 
| 10451 | 
            +
                    templateMeta = sm.scope._view.template.meta;
         | 
| 10452 | 
            +
                  }
         | 
| 10409 10453 | 
             
                  env.meta.moduleName = templateMeta && templateMeta.moduleName || env.meta && env.meta.moduleName;
         | 
| 10410 | 
            -
                  _emberHtmlbarsUtilsExtractPositionalParams.default(renderNode,  | 
| 10454 | 
            +
                  _emberHtmlbarsUtilsExtractPositionalParams.default(renderNode, sm.component.constructor, params, attrs, false);
         | 
| 10411 10455 | 
             
                  state.manager.rerender(env, attrs, visitor);
         | 
| 10412 10456 | 
             
                  return;
         | 
| 10413 10457 | 
             
                }
         | 
| @@ -12669,7 +12713,6 @@ enifed('ember-htmlbars/keywords/mut', ['exports', 'ember-metal/debug', 'ember-me | |
| 12669 12713 | 
             
                See a [2.0 blog post](http://emberjs.com/blog/2015/05/10/run-up-to-two-oh.html#toc_the-code-mut-code-helper) for
         | 
| 12670 12714 | 
             
                additional information on using `{{mut}}`.
         | 
| 12671 12715 |  | 
| 12672 | 
            -
                @public
         | 
| 12673 12716 | 
             
                @method mut
         | 
| 12674 12717 | 
             
                @param {Object} [attr] the "two-way" attribute that can be modified.
         | 
| 12675 12718 | 
             
                @for Ember.Templates.helpers
         | 
| @@ -12737,7 +12780,9 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember | |
| 12737 12780 |  | 
| 12738 12781 | 
             
              'use strict';
         | 
| 12739 12782 |  | 
| 12740 | 
            -
               | 
| 12783 | 
            +
              if (!false) {
         | 
| 12784 | 
            +
                _emberHtmlbarsTemplatesTopLevelView.default.meta.revision = 'Ember@' + _emberVersion.default;
         | 
| 12785 | 
            +
              }
         | 
| 12741 12786 |  | 
| 12742 12787 | 
             
              /**
         | 
| 12743 12788 | 
             
                The `{{outlet}}` helper lets you specify where a child route will render in
         | 
| @@ -12789,7 +12834,6 @@ enifed('ember-htmlbars/keywords/outlet', ['exports', 'ember-metal/debug', 'ember | |
| 12789 12834 |  | 
| 12790 12835 | 
             
                Note: Your content __will not render__ if there isn't an `{{outlet}}` for it.
         | 
| 12791 12836 |  | 
| 12792 | 
            -
                @public
         | 
| 12793 12837 | 
             
                @method outlet
         | 
| 12794 12838 | 
             
                @param {String} [name]
         | 
| 12795 12839 | 
             
                @for Ember.Templates.helpers
         | 
| @@ -16204,7 +16248,7 @@ enifed('ember-htmlbars/system/append-templated-view', ['exports', 'ember-metal/d | |
| 16204 16248 | 
             
                return parentView.appendChild(viewClassOrInstance, props);
         | 
| 16205 16249 | 
             
              }
         | 
| 16206 16250 | 
             
            });
         | 
| 16207 | 
            -
            enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'htmlbars-runtime', 'ember-htmlbars/hooks/get-value', 'ember-htmlbars/streams/utils'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _htmlbarsRuntime, _emberHtmlbarsHooksGetValue, _emberHtmlbarsStreamsUtils) {
         | 
| 16251 | 
            +
            enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-metal/debug', 'ember-metal/property_get', 'htmlbars-runtime', 'htmlbars-util/template-utils', 'ember-htmlbars/hooks/get-value', 'ember-htmlbars/streams/utils'], function (exports, _emberMetalDebug, _emberMetalProperty_get, _htmlbarsRuntime, _htmlbarsUtilTemplateUtils, _emberHtmlbarsHooksGetValue, _emberHtmlbarsStreamsUtils) {
         | 
| 16208 16252 | 
             
              'use strict';
         | 
| 16209 16253 |  | 
| 16210 16254 | 
             
              exports.default = buildComponentTemplate;
         | 
| @@ -16264,7 +16308,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta | |
| 16264 16308 | 
             
                  if (typeof val === 'string') {
         | 
| 16265 16309 | 
             
                    attrs[prop] = val;
         | 
| 16266 16310 | 
             
                  } else {
         | 
| 16267 | 
            -
                    attrs[prop] =  | 
| 16311 | 
            +
                    attrs[prop] = _htmlbarsUtilTemplateUtils.buildStatement('value', val);
         | 
| 16268 16312 | 
             
                  }
         | 
| 16269 16313 | 
             
                }
         | 
| 16270 16314 |  | 
| @@ -16371,17 +16415,17 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta | |
| 16371 16415 | 
             
                    if (colonIndex !== -1) {
         | 
| 16372 16416 | 
             
                      var attrProperty = attr.substring(0, colonIndex);
         | 
| 16373 16417 | 
             
                      attrName = attr.substring(colonIndex + 1);
         | 
| 16374 | 
            -
                      expression =  | 
| 16418 | 
            +
                      expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attrProperty);
         | 
| 16375 16419 | 
             
                    } else if (attrs[attr]) {
         | 
| 16376 16420 | 
             
                      // TODO: For compatibility with 1.x, we probably need to `set`
         | 
| 16377 16421 | 
             
                      // the component's attribute here if it is a CP, but we also
         | 
| 16378 16422 | 
             
                      // probably want to suspend observers and allow the
         | 
| 16379 16423 | 
             
                      // willUpdateAttrs logic to trigger observers at the correct time.
         | 
| 16380 16424 | 
             
                      attrName = attr;
         | 
| 16381 | 
            -
                      expression =  | 
| 16425 | 
            +
                      expression = _htmlbarsUtilTemplateUtils.buildStatement('value', attrs[attr]);
         | 
| 16382 16426 | 
             
                    } else {
         | 
| 16383 16427 | 
             
                      attrName = attr;
         | 
| 16384 | 
            -
                      expression =  | 
| 16428 | 
            +
                      expression = _htmlbarsUtilTemplateUtils.buildStatement('get', '' + streamBasePath + attr);
         | 
| 16385 16429 | 
             
                    }
         | 
| 16386 16430 |  | 
| 16387 16431 | 
             
                    _emberMetalDebug.assert('You cannot use class as an attributeBinding, use classNameBindings instead.', attrName !== 'class');
         | 
| @@ -16399,11 +16443,11 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta | |
| 16399 16443 | 
             
                }
         | 
| 16400 16444 |  | 
| 16401 16445 | 
             
                if (_emberMetalProperty_get.get(component, 'isVisible') === false) {
         | 
| 16402 | 
            -
                  var hiddenStyle =  | 
| 16446 | 
            +
                  var hiddenStyle = _htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-html-safe', ['display: none;'], []);
         | 
| 16403 16447 | 
             
                  var existingStyle = normalized.style;
         | 
| 16404 16448 |  | 
| 16405 16449 | 
             
                  if (existingStyle) {
         | 
| 16406 | 
            -
                    normalized.style =  | 
| 16450 | 
            +
                    normalized.style = _htmlbarsUtilTemplateUtils.buildStatement('subexpr', 'concat', [existingStyle, ' ', hiddenStyle], []);
         | 
| 16407 16451 | 
             
                  } else {
         | 
| 16408 16452 | 
             
                    normalized.style = hiddenStyle;
         | 
| 16409 16453 | 
             
                  }
         | 
| @@ -16420,7 +16464,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta | |
| 16420 16464 |  | 
| 16421 16465 | 
             
                if (attrs.class) {
         | 
| 16422 16466 | 
             
                  if (_emberHtmlbarsStreamsUtils.isStream(attrs.class)) {
         | 
| 16423 | 
            -
                    normalizedClass.push( | 
| 16467 | 
            +
                    normalizedClass.push(_htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-normalize-class', [_htmlbarsUtilTemplateUtils.buildStatement('value', attrs.class.path), _htmlbarsUtilTemplateUtils.buildStatement('value', attrs.class)], []));
         | 
| 16424 16468 | 
             
                  } else {
         | 
| 16425 16469 | 
             
                    normalizedClass.push(attrs.class);
         | 
| 16426 16470 | 
             
                  }
         | 
| @@ -16441,7 +16485,7 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta | |
| 16441 16485 | 
             
                }
         | 
| 16442 16486 |  | 
| 16443 16487 | 
             
                if (normalizeClass.length) {
         | 
| 16444 | 
            -
                  return  | 
| 16488 | 
            +
                  return _htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-join-classes', normalizedClass, []);
         | 
| 16445 16489 | 
             
                }
         | 
| 16446 16490 | 
             
              }
         | 
| 16447 16491 |  | 
| @@ -16466,11 +16510,11 @@ enifed('ember-htmlbars/system/build-component-template', ['exports', 'ember-meta | |
| 16466 16510 |  | 
| 16467 16511 | 
             
                  var prop = '' + streamBasePath + propName;
         | 
| 16468 16512 |  | 
| 16469 | 
            -
                  output.push( | 
| 16513 | 
            +
                  output.push(_htmlbarsUtilTemplateUtils.buildStatement('subexpr', '-normalize-class', [
         | 
| 16470 16514 | 
             
                  // params
         | 
| 16471 | 
            -
                   | 
| 16515 | 
            +
                  _htmlbarsUtilTemplateUtils.buildStatement('value', propName), _htmlbarsUtilTemplateUtils.buildStatement('get', prop)], [
         | 
| 16472 16516 | 
             
                  // hash
         | 
| 16473 | 
            -
                  'activeClass', activeClass, 'inactiveClass', inactiveClass] | 
| 16517 | 
            +
                  'activeClass', activeClass, 'inactiveClass', inactiveClass]));
         | 
| 16474 16518 | 
             
                }
         | 
| 16475 16519 | 
             
              }
         | 
| 16476 16520 |  | 
| @@ -16828,7 +16872,7 @@ enifed("ember-htmlbars/templates/component", ["exports", "ember-htmlbars-templat | |
| 16828 16872 | 
             
                    dom.insertBoundary(fragment, null);
         | 
| 16829 16873 | 
             
                    return morphs;
         | 
| 16830 16874 | 
             
                  },
         | 
| 16831 | 
            -
                  statements: [["content", "yield", ["loc", [null, [1, 0], [1, 9]]]]],
         | 
| 16875 | 
            +
                  statements: [["content", "yield", ["loc", [null, [1, 0], [1, 9]]], 0, 0, 0, 0]],
         | 
| 16832 16876 | 
             
                  locals: [],
         | 
| 16833 16877 | 
             
                  templates: []
         | 
| 16834 16878 | 
             
                };
         | 
| @@ -16881,7 +16925,7 @@ enifed("ember-htmlbars/templates/link-to", ["exports", "ember-htmlbars-template- | |
| 16881 16925 | 
             
                      dom.insertBoundary(fragment, null);
         | 
| 16882 16926 | 
             
                      return morphs;
         | 
| 16883 16927 | 
             
                    },
         | 
| 16884 | 
            -
                    statements: [["content", "linkTitle", ["loc", [null, [1, 17], [1, 30]]]]],
         | 
| 16928 | 
            +
                    statements: [["content", "linkTitle", ["loc", [null, [1, 17], [1, 30]]], 0, 0, 0, 0]],
         | 
| 16885 16929 | 
             
                    locals: [],
         | 
| 16886 16930 | 
             
                    templates: []
         | 
| 16887 16931 | 
             
                  };
         | 
| @@ -16906,7 +16950,7 @@ enifed("ember-htmlbars/templates/link-to", ["exports", "ember-htmlbars-template- | |
| 16906 16950 | 
             
                      dom.insertBoundary(fragment, null);
         | 
| 16907 16951 | 
             
                      return morphs;
         | 
| 16908 16952 | 
             
                    },
         | 
| 16909 | 
            -
                    statements: [["content", "yield", ["loc", [null, [1, 38], [1, 47]]]]],
         | 
| 16953 | 
            +
                    statements: [["content", "yield", ["loc", [null, [1, 38], [1, 47]]], 0, 0, 0, 0]],
         | 
| 16910 16954 | 
             
                    locals: [],
         | 
| 16911 16955 | 
             
                    templates: []
         | 
| 16912 16956 | 
             
                  };
         | 
| @@ -16930,7 +16974,7 @@ enifed("ember-htmlbars/templates/link-to", ["exports", "ember-htmlbars-template- | |
| 16930 16974 | 
             
                    dom.insertBoundary(fragment, null);
         | 
| 16931 16975 | 
             
                    return morphs;
         | 
| 16932 16976 | 
             
                  },
         | 
| 16933 | 
            -
                  statements: [["block", "if", [["get", "linkTitle", ["loc", [null, [1, 6], [1, 15]]]]], [], 0, 1, ["loc", [null, [1, 0], [1, 54]]]]],
         | 
| 16977 | 
            +
                  statements: [["block", "if", [["get", "linkTitle", ["loc", [null, [1, 6], [1, 15]]], 0, 0, 0, 0]], [], 0, 1, ["loc", [null, [1, 0], [1, 54]]]]],
         | 
| 16934 16978 | 
             
                  locals: [],
         | 
| 16935 16979 | 
             
                  templates: [child0, child1]
         | 
| 16936 16980 | 
             
                };
         | 
| @@ -16959,7 +17003,7 @@ enifed("ember-htmlbars/templates/top-level-view", ["exports", "ember-htmlbars-te | |
| 16959 17003 | 
             
                    dom.insertBoundary(fragment, null);
         | 
| 16960 17004 | 
             
                    return morphs;
         | 
| 16961 17005 | 
             
                  },
         | 
| 16962 | 
            -
                  statements: [["content", "outlet", ["loc", [null, [1, 0], [1, 10]]]]],
         | 
| 17006 | 
            +
                  statements: [["content", "outlet", ["loc", [null, [1, 0], [1, 10]]], 0, 0, 0, 0]],
         | 
| 16963 17007 | 
             
                  locals: [],
         | 
| 16964 17008 | 
             
                  templates: []
         | 
| 16965 17009 | 
             
                };
         | 
| @@ -19945,7 +19989,7 @@ enifed('ember-metal/events', ['exports', 'ember-metal/debug', 'ember-metal/utils | |
| 19945 19989 | 
             
                    }
         | 
| 19946 19990 | 
             
                  } else {
         | 
| 19947 19991 | 
             
                    if (params) {
         | 
| 19948 | 
            -
                       | 
| 19992 | 
            +
                      method.apply(target, params);
         | 
| 19949 19993 | 
             
                    } else {
         | 
| 19950 19994 | 
             
                      method.call(target);
         | 
| 19951 19995 | 
             
                    }
         | 
| @@ -20685,10 +20729,13 @@ enifed('ember-metal/instrumentation', ['exports', 'ember-environment', 'ember-me | |
| 20685 20729 | 
             
              }
         | 
| 20686 20730 |  | 
| 20687 20731 | 
             
              var flaggedInstrument;
         | 
| 20688 | 
            -
             | 
| 20689 | 
            -
             | 
| 20690 | 
            -
             | 
| 20691 | 
            -
             | 
| 20732 | 
            +
              if (false) {
         | 
| 20733 | 
            +
                exports.flaggedInstrument = flaggedInstrument = instrument;
         | 
| 20734 | 
            +
              } else {
         | 
| 20735 | 
            +
                exports.flaggedInstrument = flaggedInstrument = function (name, payload, callback) {
         | 
| 20736 | 
            +
                  return callback();
         | 
| 20737 | 
            +
                };
         | 
| 20738 | 
            +
              }
         | 
| 20692 20739 | 
             
              exports.flaggedInstrument = flaggedInstrument;
         | 
| 20693 20740 |  | 
| 20694 20741 | 
             
              function withFinalizer(callback, finalizer, payload, binding) {
         | 
| @@ -21057,6 +21104,12 @@ enifed('ember-metal/libraries', ['exports', 'ember-metal/debug', 'ember-metal/fe | |
| 21057 21104 | 
             
                }
         | 
| 21058 21105 | 
             
              };
         | 
| 21059 21106 |  | 
| 21107 | 
            +
              if (false) {
         | 
| 21108 | 
            +
                Libraries.prototype.isRegistered = function (name) {
         | 
| 21109 | 
            +
                  return !!this._getLibraryByName(name);
         | 
| 21110 | 
            +
                };
         | 
| 21111 | 
            +
              }
         | 
| 21112 | 
            +
             | 
| 21060 21113 | 
             
              exports.default = new Libraries();
         | 
| 21061 21114 | 
             
            });
         | 
| 21062 21115 | 
             
            enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_object'], function (exports, _emberMetalUtils, _emberMetalEmpty_object) {
         | 
| @@ -21306,13 +21359,13 @@ enifed('ember-metal/map', ['exports', 'ember-metal/utils', 'ember-metal/empty_ob | |
| 21306 21359 | 
             
                @constructor
         | 
| 21307 21360 | 
             
              */
         | 
| 21308 21361 | 
             
              function Map() {
         | 
| 21309 | 
            -
                if (this instanceof  | 
| 21362 | 
            +
                if (this instanceof Map) {
         | 
| 21310 21363 | 
             
                  this._keys = OrderedSet.create();
         | 
| 21311 21364 | 
             
                  this._keys._silenceRemoveDeprecation = true;
         | 
| 21312 21365 | 
             
                  this._values = new _emberMetalEmpty_object.default();
         | 
| 21313 21366 | 
             
                  this.size = 0;
         | 
| 21314 21367 | 
             
                } else {
         | 
| 21315 | 
            -
                  missingNew(' | 
| 21368 | 
            +
                  missingNew('Map');
         | 
| 21316 21369 | 
             
                }
         | 
| 21317 21370 | 
             
              }
         | 
| 21318 21371 |  | 
| @@ -21910,35 +21963,37 @@ enifed('ember-metal/meta', ['exports', 'ember-metal/features', 'ember-metal/meta | |
| 21910 21963 | 
             
                descriptor: META_DESC
         | 
| 21911 21964 | 
             
              };
         | 
| 21912 21965 |  | 
| 21913 | 
            -
               | 
| 21914 | 
            -
                 | 
| 21966 | 
            +
              if (true) {
         | 
| 21967 | 
            +
                Meta.prototype.readInheritedValue = function (key, subkey) {
         | 
| 21968 | 
            +
                  var internalKey = '_' + key;
         | 
| 21915 21969 |  | 
| 21916 | 
            -
             | 
| 21970 | 
            +
                  var pointer = this;
         | 
| 21917 21971 |  | 
| 21918 | 
            -
             | 
| 21919 | 
            -
             | 
| 21920 | 
            -
             | 
| 21921 | 
            -
             | 
| 21922 | 
            -
             | 
| 21923 | 
            -
             | 
| 21972 | 
            +
                  while (pointer !== undefined) {
         | 
| 21973 | 
            +
                    var map = pointer[internalKey];
         | 
| 21974 | 
            +
                    if (map) {
         | 
| 21975 | 
            +
                      var value = map[subkey];
         | 
| 21976 | 
            +
                      if (value !== undefined || subkey in map) {
         | 
| 21977 | 
            +
                        return map[subkey];
         | 
| 21978 | 
            +
                      }
         | 
| 21924 21979 | 
             
                    }
         | 
| 21980 | 
            +
                    pointer = pointer.parent;
         | 
| 21925 21981 | 
             
                  }
         | 
| 21926 | 
            -
                  pointer = pointer.parent;
         | 
| 21927 | 
            -
                }
         | 
| 21928 21982 |  | 
| 21929 | 
            -
             | 
| 21930 | 
            -
             | 
| 21983 | 
            +
                  return UNDEFINED;
         | 
| 21984 | 
            +
                };
         | 
| 21931 21985 |  | 
| 21932 | 
            -
             | 
| 21933 | 
            -
             | 
| 21934 | 
            -
             | 
| 21986 | 
            +
                Meta.prototype.writeValue = function (obj, key, value) {
         | 
| 21987 | 
            +
                  var descriptor = _emberMetalUtils.lookupDescriptor(obj, key);
         | 
| 21988 | 
            +
                  var isMandatorySetter = descriptor && descriptor.set && descriptor.set.isMandatorySetter;
         | 
| 21935 21989 |  | 
| 21936 | 
            -
             | 
| 21937 | 
            -
             | 
| 21938 | 
            -
             | 
| 21939 | 
            -
             | 
| 21940 | 
            -
             | 
| 21941 | 
            -
             | 
| 21990 | 
            +
                  if (isMandatorySetter) {
         | 
| 21991 | 
            +
                    this.writeValues(key, value);
         | 
| 21992 | 
            +
                  } else {
         | 
| 21993 | 
            +
                    obj[key] = value;
         | 
| 21994 | 
            +
                  }
         | 
| 21995 | 
            +
                };
         | 
| 21996 | 
            +
              }
         | 
| 21942 21997 |  | 
| 21943 21998 | 
             
              // choose the one appropriate for given platform
         | 
| 21944 21999 | 
             
              var setMeta = function (obj, meta) {
         | 
| @@ -23494,18 +23549,20 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f | |
| 23494 23549 |  | 
| 23495 23550 | 
             
                if (desc instanceof Descriptor) {
         | 
| 23496 23551 | 
             
                  value = desc;
         | 
| 23497 | 
            -
             | 
| 23498 | 
            -
             | 
| 23499 | 
            -
             | 
| 23500 | 
            -
             | 
| 23501 | 
            -
             | 
| 23502 | 
            -
             | 
| 23503 | 
            -
             | 
| 23504 | 
            -
             | 
| 23552 | 
            +
                  if (true) {
         | 
| 23553 | 
            +
                    if (watching) {
         | 
| 23554 | 
            +
                      Object.defineProperty(obj, keyName, {
         | 
| 23555 | 
            +
                        configurable: true,
         | 
| 23556 | 
            +
                        enumerable: true,
         | 
| 23557 | 
            +
                        writable: true,
         | 
| 23558 | 
            +
                        value: value
         | 
| 23559 | 
            +
                      });
         | 
| 23560 | 
            +
                    } else {
         | 
| 23561 | 
            +
                      obj[keyName] = value;
         | 
| 23562 | 
            +
                    }
         | 
| 23505 23563 | 
             
                  } else {
         | 
| 23506 23564 | 
             
                    obj[keyName] = value;
         | 
| 23507 23565 | 
             
                  }
         | 
| 23508 | 
            -
             | 
| 23509 23566 | 
             
                  if (desc.setup) {
         | 
| 23510 23567 | 
             
                    desc.setup(obj, keyName);
         | 
| 23511 23568 | 
             
                  }
         | 
| @@ -23513,20 +23570,24 @@ enifed('ember-metal/properties', ['exports', 'ember-metal/debug', 'ember-metal/f | |
| 23513 23570 | 
             
                  if (desc == null) {
         | 
| 23514 23571 | 
             
                    value = data;
         | 
| 23515 23572 |  | 
| 23516 | 
            -
                    if ( | 
| 23517 | 
            -
                       | 
| 23573 | 
            +
                    if (true) {
         | 
| 23574 | 
            +
                      if (watching) {
         | 
| 23575 | 
            +
                        meta.writeValues(keyName, data);
         | 
| 23518 23576 |  | 
| 23519 | 
            -
             | 
| 23520 | 
            -
             | 
| 23521 | 
            -
             | 
| 23522 | 
            -
             | 
| 23523 | 
            -
             | 
| 23524 | 
            -
             | 
| 23577 | 
            +
                        var defaultDescriptor = {
         | 
| 23578 | 
            +
                          configurable: true,
         | 
| 23579 | 
            +
                          enumerable: true,
         | 
| 23580 | 
            +
                          set: MANDATORY_SETTER_FUNCTION(keyName),
         | 
| 23581 | 
            +
                          get: DEFAULT_GETTER_FUNCTION(keyName)
         | 
| 23582 | 
            +
                        };
         | 
| 23525 23583 |  | 
| 23526 | 
            -
             | 
| 23527 | 
            -
             | 
| 23584 | 
            +
                        if (REDEFINE_SUPPORTED) {
         | 
| 23585 | 
            +
                          Object.defineProperty(obj, keyName, defaultDescriptor);
         | 
| 23586 | 
            +
                        } else {
         | 
| 23587 | 
            +
                          handleBrokenPhantomDefineProperty(obj, keyName, defaultDescriptor);
         | 
| 23588 | 
            +
                        }
         | 
| 23528 23589 | 
             
                      } else {
         | 
| 23529 | 
            -
                         | 
| 23590 | 
            +
                        obj[keyName] = data;
         | 
| 23530 23591 | 
             
                      }
         | 
| 23531 23592 | 
             
                    } else {
         | 
| 23532 23593 | 
             
                      obj[keyName] = data;
         | 
| @@ -24034,7 +24095,11 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal | |
| 24034 24095 | 
             
                } else {
         | 
| 24035 24096 | 
             
                  _emberMetalProperty_events.propertyWillChange(obj, keyName);
         | 
| 24036 24097 |  | 
| 24037 | 
            -
                   | 
| 24098 | 
            +
                  if (true) {
         | 
| 24099 | 
            +
                    setWithMandatorySetter(meta, obj, keyName, value);
         | 
| 24100 | 
            +
                  } else {
         | 
| 24101 | 
            +
                    obj[keyName] = value;
         | 
| 24102 | 
            +
                  }
         | 
| 24038 24103 |  | 
| 24039 24104 | 
             
                  _emberMetalProperty_events.propertyDidChange(obj, keyName);
         | 
| 24040 24105 | 
             
                }
         | 
| @@ -24042,23 +24107,25 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal | |
| 24042 24107 | 
             
                return value;
         | 
| 24043 24108 | 
             
              }
         | 
| 24044 24109 |  | 
| 24045 | 
            -
               | 
| 24046 | 
            -
                 | 
| 24047 | 
            -
                   | 
| 24048 | 
            -
             | 
| 24049 | 
            -
             | 
| 24050 | 
            -
                   | 
| 24051 | 
            -
             | 
| 24052 | 
            -
             | 
| 24110 | 
            +
              if (true) {
         | 
| 24111 | 
            +
                var setWithMandatorySetter = function (meta, obj, keyName, value) {
         | 
| 24112 | 
            +
                  if (meta && meta.peekWatching(keyName) > 0) {
         | 
| 24113 | 
            +
                    makeEnumerable(obj, keyName);
         | 
| 24114 | 
            +
                    meta.writeValue(obj, keyName, value);
         | 
| 24115 | 
            +
                  } else {
         | 
| 24116 | 
            +
                    obj[keyName] = value;
         | 
| 24117 | 
            +
                  }
         | 
| 24118 | 
            +
                };
         | 
| 24053 24119 |  | 
| 24054 | 
            -
             | 
| 24055 | 
            -
             | 
| 24120 | 
            +
                var makeEnumerable = function (obj, key) {
         | 
| 24121 | 
            +
                  var desc = Object.getOwnPropertyDescriptor(obj, key);
         | 
| 24056 24122 |  | 
| 24057 | 
            -
             | 
| 24058 | 
            -
             | 
| 24059 | 
            -
             | 
| 24060 | 
            -
             | 
| 24061 | 
            -
             | 
| 24123 | 
            +
                  if (desc && desc.set && desc.set.isMandatorySetter) {
         | 
| 24124 | 
            +
                    desc.enumerable = true;
         | 
| 24125 | 
            +
                    Object.defineProperty(obj, key, desc);
         | 
| 24126 | 
            +
                  }
         | 
| 24127 | 
            +
                };
         | 
| 24128 | 
            +
              }
         | 
| 24062 24129 |  | 
| 24063 24130 | 
             
              function setPath(root, path, value, tolerant) {
         | 
| 24064 24131 | 
             
                var keyName;
         | 
| @@ -24112,11 +24179,10 @@ enifed('ember-metal/property_set', ['exports', 'ember-metal/debug', 'ember-metal | |
| 24112 24179 | 
             
            enifed("ember-metal/replace", ["exports"], function (exports) {
         | 
| 24113 24180 | 
             
              "use strict";
         | 
| 24114 24181 |  | 
| 24115 | 
            -
              exports._replace = _replace;
         | 
| 24116 24182 | 
             
              exports.default = replace;
         | 
| 24117 24183 | 
             
              var splice = Array.prototype.splice;
         | 
| 24118 24184 |  | 
| 24119 | 
            -
              function  | 
| 24185 | 
            +
              function replace(array, idx, amt, objects) {
         | 
| 24120 24186 | 
             
                var args = [].concat(objects);
         | 
| 24121 24187 | 
             
                var ret = [];
         | 
| 24122 24188 | 
             
                // https://code.google.com/p/chromium/issues/detail?id=56588
         | 
| @@ -24141,42 +24207,6 @@ enifed("ember-metal/replace", ["exports"], function (exports) { | |
| 24141 24207 | 
             
                }
         | 
| 24142 24208 | 
             
                return ret;
         | 
| 24143 24209 | 
             
              }
         | 
| 24144 | 
            -
             | 
| 24145 | 
            -
              /**
         | 
| 24146 | 
            -
                Replaces objects in an array with the passed objects.
         | 
| 24147 | 
            -
              
         | 
| 24148 | 
            -
                ```javascript
         | 
| 24149 | 
            -
                  var array = [1,2,3];
         | 
| 24150 | 
            -
                  Ember.EnumerableUtils.replace(array, 1, 2, [4, 5]); // [1, 4, 5]
         | 
| 24151 | 
            -
              
         | 
| 24152 | 
            -
                  var array = [1,2,3];
         | 
| 24153 | 
            -
                  Ember.EnumerableUtils.replace(array, 1, 1, [4, 5]); // [1, 4, 5, 3]
         | 
| 24154 | 
            -
              
         | 
| 24155 | 
            -
                  var array = [1,2,3];
         | 
| 24156 | 
            -
                  Ember.EnumerableUtils.replace(array, 10, 1, [4, 5]); // [1, 2, 3, 4, 5]
         | 
| 24157 | 
            -
                ```
         | 
| 24158 | 
            -
              
         | 
| 24159 | 
            -
                @method replace
         | 
| 24160 | 
            -
                @deprecated
         | 
| 24161 | 
            -
                @param {Array} array The array the objects should be inserted into.
         | 
| 24162 | 
            -
                @param {Number} idx Starting index in the array to replace. If *idx* >=
         | 
| 24163 | 
            -
                length, then append to the end of the array.
         | 
| 24164 | 
            -
                @param {Number} amt Number of elements that should be removed from the array,
         | 
| 24165 | 
            -
                starting at *idx*
         | 
| 24166 | 
            -
                @param {Array} objects An array of zero or more objects that should be
         | 
| 24167 | 
            -
                inserted into the array at *idx*
         | 
| 24168 | 
            -
              
         | 
| 24169 | 
            -
                @return {Array} The modified array.
         | 
| 24170 | 
            -
                @public
         | 
| 24171 | 
            -
              */
         | 
| 24172 | 
            -
             | 
| 24173 | 
            -
              function replace(array, idx, amt, objects) {
         | 
| 24174 | 
            -
                if (array.replace) {
         | 
| 24175 | 
            -
                  return array.replace(idx, amt, objects);
         | 
| 24176 | 
            -
                } else {
         | 
| 24177 | 
            -
                  return _replace(array, idx, amt, objects);
         | 
| 24178 | 
            -
                }
         | 
| 24179 | 
            -
              }
         | 
| 24180 24210 | 
             
            });
         | 
| 24181 24211 | 
             
            enifed('ember-metal/run_loop', ['exports', 'ember-metal/debug', 'ember-metal/testing', 'ember-metal/error_handler', 'ember-metal/utils', 'ember-metal/property_events', 'backburner'], function (exports, _emberMetalDebug, _emberMetalTesting, _emberMetalError_handler, _emberMetalUtils, _emberMetalProperty_events, _backburner) {
         | 
| 24182 24212 | 
             
              'use strict';
         | 
| @@ -25025,7 +25055,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) { | |
| 25025 25055 | 
             
              exports.tryInvoke = tryInvoke;
         | 
| 25026 25056 | 
             
              exports.makeArray = makeArray;
         | 
| 25027 25057 | 
             
              exports.inspect = inspect;
         | 
| 25028 | 
            -
              exports.apply = apply;
         | 
| 25029 25058 | 
             
              exports.applyStr = applyStr;
         | 
| 25030 25059 | 
             
              exports.lookupDescriptor = lookupDescriptor;
         | 
| 25031 25060 | 
             
              exports.toString = toString;
         | 
| @@ -25267,15 +25296,16 @@ enifed('ember-metal/utils', ['exports'], function (exports) { | |
| 25267 25296 | 
             
              }
         | 
| 25268 25297 |  | 
| 25269 25298 | 
             
              var HAS_SUPER_PATTERN = /\.(_super|call\(this|apply\(this)/;
         | 
| 25299 | 
            +
              var fnToString = Function.prototype.toString;
         | 
| 25270 25300 |  | 
| 25271 25301 | 
             
              var checkHasSuper = (function () {
         | 
| 25272 | 
            -
                var sourceAvailable = (function () {
         | 
| 25302 | 
            +
                var sourceAvailable = fnToString.call(function () {
         | 
| 25273 25303 | 
             
                  return this;
         | 
| 25274 | 
            -
                }). | 
| 25304 | 
            +
                }).indexOf('return this') > -1;
         | 
| 25275 25305 |  | 
| 25276 25306 | 
             
                if (sourceAvailable) {
         | 
| 25277 25307 | 
             
                  return function checkHasSuper(func) {
         | 
| 25278 | 
            -
                    return HAS_SUPER_PATTERN.test( | 
| 25308 | 
            +
                    return HAS_SUPER_PATTERN.test(fnToString.call(func));
         | 
| 25279 25309 | 
             
                  };
         | 
| 25280 25310 | 
             
                }
         | 
| 25281 25311 |  | 
| @@ -25322,31 +25352,8 @@ enifed('ember-metal/utils', ['exports'], function (exports) { | |
| 25322 25352 | 
             
              function _wrap(func, superFunc) {
         | 
| 25323 25353 | 
             
                function superWrapper() {
         | 
| 25324 25354 | 
             
                  var orig = this._super;
         | 
| 25325 | 
            -
                  var ret = undefined;
         | 
| 25326 25355 | 
             
                  this._super = superFunc;
         | 
| 25327 | 
            -
                   | 
| 25328 | 
            -
                    case 0:
         | 
| 25329 | 
            -
                      ret = func.call(this);break;
         | 
| 25330 | 
            -
                    case 1:
         | 
| 25331 | 
            -
                      ret = func.call(this, arguments[0]);break;
         | 
| 25332 | 
            -
                    case 2:
         | 
| 25333 | 
            -
                      ret = func.call(this, arguments[0], arguments[1]);break;
         | 
| 25334 | 
            -
                    case 3:
         | 
| 25335 | 
            -
                      ret = func.call(this, arguments[0], arguments[1], arguments[2]);break;
         | 
| 25336 | 
            -
                    case 4:
         | 
| 25337 | 
            -
                      ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3]);break;
         | 
| 25338 | 
            -
                    case 5:
         | 
| 25339 | 
            -
                      ret = func.call(this, arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);break;
         | 
| 25340 | 
            -
                    default:
         | 
| 25341 | 
            -
                      // v8 bug potentially incorrectly deopts this function: https://code.google.com/p/v8/issues/detail?id=3709
         | 
| 25342 | 
            -
                      // we may want to keep this around till this ages out on mobile
         | 
| 25343 | 
            -
                      var args = new Array(arguments.length);
         | 
| 25344 | 
            -
                      for (var x = 0; x < arguments.length; x++) {
         | 
| 25345 | 
            -
                        args[x] = arguments[x];
         | 
| 25346 | 
            -
                      }
         | 
| 25347 | 
            -
                      ret = func.apply(this, args);
         | 
| 25348 | 
            -
                      break;
         | 
| 25349 | 
            -
                  }
         | 
| 25356 | 
            +
                  var ret = func.apply(this, arguments);
         | 
| 25350 25357 | 
             
                  this._super = orig;
         | 
| 25351 25358 | 
             
                  return ret;
         | 
| 25352 25359 | 
             
                }
         | 
| @@ -25503,36 +25510,6 @@ enifed('ember-metal/utils', ['exports'], function (exports) { | |
| 25503 25510 | 
             
                return '{' + ret.join(', ') + '}';
         | 
| 25504 25511 | 
             
              }
         | 
| 25505 25512 |  | 
| 25506 | 
            -
              // The following functions are intentionally minified to keep the functions
         | 
| 25507 | 
            -
              // below Chrome's function body size inlining limit of 600 chars.
         | 
| 25508 | 
            -
              /**
         | 
| 25509 | 
            -
                @param {Object} t target
         | 
| 25510 | 
            -
                @param {Function} m method
         | 
| 25511 | 
            -
                @param {Array} a args
         | 
| 25512 | 
            -
                @private
         | 
| 25513 | 
            -
              */
         | 
| 25514 | 
            -
             | 
| 25515 | 
            -
              function apply(t, m, a) {
         | 
| 25516 | 
            -
                var l = a && a.length;
         | 
| 25517 | 
            -
                if (!a || !l) {
         | 
| 25518 | 
            -
                  return m.call(t);
         | 
| 25519 | 
            -
                }
         | 
| 25520 | 
            -
                switch (l) {
         | 
| 25521 | 
            -
                  case 1:
         | 
| 25522 | 
            -
                    return m.call(t, a[0]);
         | 
| 25523 | 
            -
                  case 2:
         | 
| 25524 | 
            -
                    return m.call(t, a[0], a[1]);
         | 
| 25525 | 
            -
                  case 3:
         | 
| 25526 | 
            -
                    return m.call(t, a[0], a[1], a[2]);
         | 
| 25527 | 
            -
                  case 4:
         | 
| 25528 | 
            -
                    return m.call(t, a[0], a[1], a[2], a[3]);
         | 
| 25529 | 
            -
                  case 5:
         | 
| 25530 | 
            -
                    return m.call(t, a[0], a[1], a[2], a[3], a[4]);
         | 
| 25531 | 
            -
                  default:
         | 
| 25532 | 
            -
                    return m.apply(t, a);
         | 
| 25533 | 
            -
                }
         | 
| 25534 | 
            -
              }
         | 
| 25535 | 
            -
             | 
| 25536 25513 | 
             
              /**
         | 
| 25537 25514 | 
             
                @param {Object} t target
         | 
| 25538 25515 | 
             
                @param {String} m method
         | 
| @@ -25616,55 +25593,61 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal | |
| 25616 25593 | 
             
                    obj.willWatchProperty(keyName);
         | 
| 25617 25594 | 
             
                  }
         | 
| 25618 25595 |  | 
| 25619 | 
            -
                   | 
| 25620 | 
            -
             | 
| 25596 | 
            +
                  if (true) {
         | 
| 25597 | 
            +
                    // NOTE: this is dropped for prod + minified builds
         | 
| 25598 | 
            +
                    handleMandatorySetter(m, obj, keyName);
         | 
| 25599 | 
            +
                  }
         | 
| 25621 25600 | 
             
                } else {
         | 
| 25622 25601 | 
             
                  m.writeWatching(keyName, (m.peekWatching(keyName) || 0) + 1);
         | 
| 25623 25602 | 
             
                }
         | 
| 25624 25603 | 
             
              }
         | 
| 25625 25604 |  | 
| 25626 | 
            -
               | 
| 25627 | 
            -
                 | 
| 25628 | 
            -
             | 
| 25629 | 
            -
             | 
| 25630 | 
            -
             | 
| 25631 | 
            -
                return Object.prototype.propertyIsEnumerable.call(obj, key);
         | 
| 25632 | 
            -
              };
         | 
| 25605 | 
            +
              if (true) {
         | 
| 25606 | 
            +
                (function () {
         | 
| 25607 | 
            +
                  var hasOwnProperty = function (obj, key) {
         | 
| 25608 | 
            +
                    return Object.prototype.hasOwnProperty.call(obj, key);
         | 
| 25609 | 
            +
                  };
         | 
| 25633 25610 |  | 
| 25634 | 
            -
             | 
| 25635 | 
            -
             | 
| 25636 | 
            -
             | 
| 25637 | 
            -
              handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
         | 
| 25638 | 
            -
                var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
         | 
| 25639 | 
            -
                var configurable = descriptor ? descriptor.configurable : true;
         | 
| 25640 | 
            -
                var isWritable = descriptor ? descriptor.writable : true;
         | 
| 25641 | 
            -
                var hasValue = descriptor ? 'value' in descriptor : true;
         | 
| 25642 | 
            -
                var possibleDesc = descriptor && descriptor.value;
         | 
| 25643 | 
            -
                var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
         | 
| 25611 | 
            +
                  var propertyIsEnumerable = function (obj, key) {
         | 
| 25612 | 
            +
                    return Object.prototype.propertyIsEnumerable.call(obj, key);
         | 
| 25613 | 
            +
                  };
         | 
| 25644 25614 |  | 
| 25645 | 
            -
             | 
| 25646 | 
            -
                   | 
| 25647 | 
            -
             | 
| 25615 | 
            +
                  // Future traveler, although this code looks scary. It merely exists in
         | 
| 25616 | 
            +
                  // development to aid in development asertions. Production builds of
         | 
| 25617 | 
            +
                  // ember strip this entire block out
         | 
| 25618 | 
            +
                  handleMandatorySetter = function handleMandatorySetter(m, obj, keyName) {
         | 
| 25619 | 
            +
                    var descriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
         | 
| 25620 | 
            +
                    var configurable = descriptor ? descriptor.configurable : true;
         | 
| 25621 | 
            +
                    var isWritable = descriptor ? descriptor.writable : true;
         | 
| 25622 | 
            +
                    var hasValue = descriptor ? 'value' in descriptor : true;
         | 
| 25623 | 
            +
                    var possibleDesc = descriptor && descriptor.value;
         | 
| 25624 | 
            +
                    var isDescriptor = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor;
         | 
| 25625 | 
            +
             | 
| 25626 | 
            +
                    if (isDescriptor) {
         | 
| 25627 | 
            +
                      return;
         | 
| 25628 | 
            +
                    }
         | 
| 25648 25629 |  | 
| 25649 | 
            -
             | 
| 25650 | 
            -
             | 
| 25651 | 
            -
             | 
| 25652 | 
            -
             | 
| 25653 | 
            -
             | 
| 25654 | 
            -
             | 
| 25655 | 
            -
             | 
| 25656 | 
            -
             | 
| 25630 | 
            +
                    // this x in Y deopts, so keeping it in this function is better;
         | 
| 25631 | 
            +
                    if (configurable && isWritable && hasValue && keyName in obj) {
         | 
| 25632 | 
            +
                      var desc = {
         | 
| 25633 | 
            +
                        configurable: true,
         | 
| 25634 | 
            +
                        set: _emberMetalProperties.MANDATORY_SETTER_FUNCTION(keyName),
         | 
| 25635 | 
            +
                        enumerable: propertyIsEnumerable(obj, keyName),
         | 
| 25636 | 
            +
                        get: undefined
         | 
| 25637 | 
            +
                      };
         | 
| 25657 25638 |  | 
| 25658 | 
            -
             | 
| 25659 | 
            -
             | 
| 25660 | 
            -
             | 
| 25661 | 
            -
             | 
| 25662 | 
            -
             | 
| 25663 | 
            -
             | 
| 25639 | 
            +
                      if (hasOwnProperty(obj, keyName)) {
         | 
| 25640 | 
            +
                        m.writeValues(keyName, obj[keyName]);
         | 
| 25641 | 
            +
                        desc.get = _emberMetalProperties.DEFAULT_GETTER_FUNCTION(keyName);
         | 
| 25642 | 
            +
                      } else {
         | 
| 25643 | 
            +
                        desc.get = _emberMetalProperties.INHERITING_GETTER_FUNCTION(keyName);
         | 
| 25644 | 
            +
                      }
         | 
| 25664 25645 |  | 
| 25665 | 
            -
             | 
| 25666 | 
            -
             | 
| 25667 | 
            -
             | 
| 25646 | 
            +
                      Object.defineProperty(obj, keyName, desc);
         | 
| 25647 | 
            +
                    }
         | 
| 25648 | 
            +
                  };
         | 
| 25649 | 
            +
                })();
         | 
| 25650 | 
            +
              }
         | 
| 25668 25651 |  | 
| 25669 25652 | 
             
              function unwatchKey(obj, keyName, meta) {
         | 
| 25670 25653 | 
             
                var m = meta || _emberMetalMeta.meta(obj);
         | 
| @@ -25683,33 +25666,35 @@ enifed('ember-metal/watch_key', ['exports', 'ember-metal/features', 'ember-metal | |
| 25683 25666 | 
             
                    obj.didUnwatchProperty(keyName);
         | 
| 25684 25667 | 
             
                  }
         | 
| 25685 25668 |  | 
| 25686 | 
            -
                   | 
| 25687 | 
            -
             | 
| 25688 | 
            -
             | 
| 25689 | 
            -
             | 
| 25690 | 
            -
             | 
| 25691 | 
            -
             | 
| 25692 | 
            -
             | 
| 25693 | 
            -
             | 
| 25694 | 
            -
             | 
| 25695 | 
            -
                     | 
| 25696 | 
            -
             | 
| 25697 | 
            -
             | 
| 25698 | 
            -
                      if (maybeMandatoryDescriptor. | 
| 25699 | 
            -
                         | 
| 25700 | 
            -
             | 
| 25701 | 
            -
                           | 
| 25702 | 
            -
             | 
| 25669 | 
            +
                  if (true) {
         | 
| 25670 | 
            +
                    // It is true, the following code looks quite WAT. But have no fear, It
         | 
| 25671 | 
            +
                    // exists purely to improve development ergonomics and is removed from
         | 
| 25672 | 
            +
                    // ember.min.js and ember.prod.js builds.
         | 
| 25673 | 
            +
                    //
         | 
| 25674 | 
            +
                    // Some further context: Once a property is watched by ember, bypassing `set`
         | 
| 25675 | 
            +
                    // for mutation, will bypass observation. This code exists to assert when
         | 
| 25676 | 
            +
                    // that occurs, and attempt to provide more helpful feedback. The alternative
         | 
| 25677 | 
            +
                    // is tricky to debug partially observable properties.
         | 
| 25678 | 
            +
                    if (!desc && keyName in obj) {
         | 
| 25679 | 
            +
                      var maybeMandatoryDescriptor = _emberMetalUtils.lookupDescriptor(obj, keyName);
         | 
| 25680 | 
            +
             | 
| 25681 | 
            +
                      if (maybeMandatoryDescriptor.set && maybeMandatoryDescriptor.set.isMandatorySetter) {
         | 
| 25682 | 
            +
                        if (maybeMandatoryDescriptor.get && maybeMandatoryDescriptor.get.isInheritingGetter) {
         | 
| 25683 | 
            +
                          var possibleValue = m.readInheritedValue('values', keyName);
         | 
| 25684 | 
            +
                          if (possibleValue === _emberMetalMeta.UNDEFINED) {
         | 
| 25685 | 
            +
                            delete obj[keyName];
         | 
| 25686 | 
            +
                            return;
         | 
| 25687 | 
            +
                          }
         | 
| 25703 25688 | 
             
                        }
         | 
| 25704 | 
            -
                      }
         | 
| 25705 25689 |  | 
| 25706 | 
            -
             | 
| 25707 | 
            -
             | 
| 25708 | 
            -
             | 
| 25709 | 
            -
             | 
| 25710 | 
            -
             | 
| 25711 | 
            -
             | 
| 25712 | 
            -
             | 
| 25690 | 
            +
                        Object.defineProperty(obj, keyName, {
         | 
| 25691 | 
            +
                          configurable: true,
         | 
| 25692 | 
            +
                          enumerable: Object.prototype.propertyIsEnumerable.call(obj, keyName),
         | 
| 25693 | 
            +
                          writable: true,
         | 
| 25694 | 
            +
                          value: m.peekValues(keyName)
         | 
| 25695 | 
            +
                        });
         | 
| 25696 | 
            +
                        m.deleteFromValues(keyName);
         | 
| 25697 | 
            +
                      }
         | 
| 25713 25698 | 
             
                    }
         | 
| 25714 25699 | 
             
                  }
         | 
| 25715 25700 | 
             
                } else if (count > 1) {
         | 
| @@ -27392,6 +27377,10 @@ enifed('ember-routing/system/dsl', ['exports', 'ember-metal/debug', 'ember-metal | |
| 27392 27377 | 
             
                this.matches = [];
         | 
| 27393 27378 | 
             
                this.explicitIndex = undefined;
         | 
| 27394 27379 | 
             
                this.options = options;
         | 
| 27380 | 
            +
             | 
| 27381 | 
            +
                if (false) {
         | 
| 27382 | 
            +
                  this.router = options && options.router;
         | 
| 27383 | 
            +
                }
         | 
| 27395 27384 | 
             
              }
         | 
| 27396 27385 |  | 
| 27397 27386 | 
             
              exports.default = DSL;
         | 
| @@ -27421,7 +27410,7 @@ enifed('ember-routing/system/dsl', ['exports', 'ember-metal/debug', 'ember-metal | |
| 27421 27410 | 
             
                    createRoute(this, name + '_error', { path: dummyErrorRoute });
         | 
| 27422 27411 | 
             
                  }
         | 
| 27423 27412 |  | 
| 27424 | 
            -
                  if ( | 
| 27413 | 
            +
                  if (false && options.serialize && this.router) {
         | 
| 27425 27414 | 
             
                    this.router._serializeMethods[name] = options.serialize;
         | 
| 27426 27415 | 
             
                  }
         | 
| 27427 27416 |  | 
| @@ -27618,6 +27607,10 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met | |
| 27618 27607 |  | 
| 27619 27608 | 
             
              var DEFAULT_SERIALIZE = _emberMetalSymbol.default('DEFAULT_SERIALIZE');
         | 
| 27620 27609 |  | 
| 27610 | 
            +
              if (false) {
         | 
| 27611 | 
            +
                defaultSerialize[DEFAULT_SERIALIZE] = true;
         | 
| 27612 | 
            +
              }
         | 
| 27613 | 
            +
             | 
| 27621 27614 | 
             
              function hasDefaultSerialize(route) {
         | 
| 27622 27615 | 
             
                return !!route.serialize[DEFAULT_SERIALIZE];
         | 
| 27623 27616 | 
             
              }
         | 
| @@ -27714,6 +27707,12 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met | |
| 27714 27707 | 
             
                    var controllerDefinedQueryParameterConfiguration = _emberMetalProperty_get.get(controllerProto, 'queryParams');
         | 
| 27715 27708 | 
             
                    var normalizedControllerQueryParameterConfiguration = _emberRoutingUtils.normalizeControllerQueryParams(controllerDefinedQueryParameterConfiguration);
         | 
| 27716 27709 | 
             
                    combinedQueryParameterConfiguration = mergeEachQueryParams(normalizedControllerQueryParameterConfiguration, queryParameterConfiguraton);
         | 
| 27710 | 
            +
             | 
| 27711 | 
            +
                    if (false) {
         | 
| 27712 | 
            +
                      if (controllerDefinedQueryParameterConfiguration.length) {
         | 
| 27713 | 
            +
                        _emberMetalDebug.deprecate('Configuring query parameters on a controller is deprecated. Migrate the query parameters configuration from the \'' + controllerName + '\' controller to the \'' + this.routeName + '\' route: ' + combinedQueryParameterConfiguration, false, { id: 'ember-routing.controller-configured-query-params', until: '3.0.0' });
         | 
| 27714 | 
            +
                      }
         | 
| 27715 | 
            +
                    }
         | 
| 27717 27716 | 
             
                  } else if (hasRouterDefinedQueryParams) {
         | 
| 27718 27717 | 
             
                    // the developer has not defined a controller but *has* supplied route query params.
         | 
| 27719 27718 | 
             
                    // Generate a class for them so we can later insert default values
         | 
| @@ -27740,6 +27739,19 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met | |
| 27740 27739 |  | 
| 27741 27740 | 
             
                    var desc = combinedQueryParameterConfiguration[propName];
         | 
| 27742 27741 |  | 
| 27742 | 
            +
                    if (false) {
         | 
| 27743 | 
            +
                      // apply default values to controllers
         | 
| 27744 | 
            +
                      // detect that default value defined on router config
         | 
| 27745 | 
            +
                      if (desc.hasOwnProperty('defaultValue')) {
         | 
| 27746 | 
            +
                        // detect that property was not defined on controller
         | 
| 27747 | 
            +
                        if (controllerProto[propName] === undefined) {
         | 
| 27748 | 
            +
                          controllerProto[propName] = desc.defaultValue;
         | 
| 27749 | 
            +
                        } else {
         | 
| 27750 | 
            +
                          deprecateQueryParamDefaultValuesSetOnController(controllerName, this.routeName, propName);
         | 
| 27751 | 
            +
                        }
         | 
| 27752 | 
            +
                      }
         | 
| 27753 | 
            +
                    }
         | 
| 27754 | 
            +
             | 
| 27743 27755 | 
             
                    var scope = desc.scope || 'model';
         | 
| 27744 27756 | 
             
                    var parts;
         | 
| 27745 27757 |  | 
| @@ -29416,9 +29428,13 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met | |
| 29416 29428 | 
             
                      // into its outlets, which won't render anywhere. All of this
         | 
| 29417 29429 | 
             
                      // statefulness should get the machete in 2.0.
         | 
| 29418 29430 | 
             
                      this.connections[i] = {
         | 
| 29431 | 
            +
                        owner: connection.owner,
         | 
| 29419 29432 | 
             
                        into: connection.into,
         | 
| 29420 29433 | 
             
                        outlet: connection.outlet,
         | 
| 29421 | 
            -
                        name: connection.name
         | 
| 29434 | 
            +
                        name: connection.name,
         | 
| 29435 | 
            +
                        controller: undefined,
         | 
| 29436 | 
            +
                        template: undefined,
         | 
| 29437 | 
            +
                        ViewClass: undefined
         | 
| 29422 29438 | 
             
                      };
         | 
| 29423 29439 | 
             
                      _emberMetalRun_loop.default.once(this.router, '_setOutlets');
         | 
| 29424 29440 | 
             
                    }
         | 
| @@ -29591,12 +29607,16 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met | |
| 29591 29607 | 
             
                var keysAlreadyMergedOrSkippable;
         | 
| 29592 29608 | 
             
                var qps = {};
         | 
| 29593 29609 |  | 
| 29594 | 
            -
                 | 
| 29595 | 
            -
                   | 
| 29596 | 
            -
             | 
| 29597 | 
            -
                   | 
| 29598 | 
            -
             | 
| 29599 | 
            -
             | 
| 29610 | 
            +
                if (false) {
         | 
| 29611 | 
            +
                  keysAlreadyMergedOrSkippable = {};
         | 
| 29612 | 
            +
                } else {
         | 
| 29613 | 
            +
                  keysAlreadyMergedOrSkippable = {
         | 
| 29614 | 
            +
                    defaultValue: true,
         | 
| 29615 | 
            +
                    type: true,
         | 
| 29616 | 
            +
                    scope: true,
         | 
| 29617 | 
            +
                    as: true
         | 
| 29618 | 
            +
                  };
         | 
| 29619 | 
            +
                }
         | 
| 29600 29620 |  | 
| 29601 29621 | 
             
                // first loop over all controller qps, merging them with any matching route qps
         | 
| 29602 29622 | 
             
                // into a new empty object to avoid mutating.
         | 
| @@ -29642,11 +29662,6 @@ enifed('ember-routing/system/route', ['exports', 'ember-metal/debug', 'ember-met | |
| 29642 29662 |  | 
| 29643 29663 | 
             
              exports.default = Route;
         | 
| 29644 29664 | 
             
            });
         | 
| 29645 | 
            -
             | 
| 29646 | 
            -
            // apply default values to controllers
         | 
| 29647 | 
            -
            // detect that default value defined on router config
         | 
| 29648 | 
            -
             | 
| 29649 | 
            -
            // detect that property was not defined on controller
         | 
| 29650 29665 | 
             
            enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/debug', 'ember-metal/error', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/properties', 'ember-metal/empty_object', 'ember-metal/computed', 'ember-metal/assign', 'ember-metal/run_loop', 'ember-runtime/system/object', 'ember-runtime/mixins/evented', 'ember-routing/system/route', 'ember-routing/system/dsl', 'ember-routing/location/api', 'ember-routing/utils', 'ember-metal/utils', 'ember-routing/system/router_state', 'container/owner', 'ember-metal/dictionary', 'router', 'router/transition'], function (exports, _emberConsole, _emberMetalDebug, _emberMetalError, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalProperties, _emberMetalEmpty_object, _emberMetalComputed, _emberMetalAssign, _emberMetalRun_loop, _emberRuntimeSystemObject, _emberRuntimeMixinsEvented, _emberRoutingSystemRoute, _emberRoutingSystemDsl, _emberRoutingLocationApi, _emberRoutingUtils, _emberMetalUtils, _emberRoutingSystemRouter_state, _containerOwner, _emberMetalDictionary, _router4, _routerTransition) {
         | 
| 29651 29666 | 
             
              'use strict';
         | 
| 29652 29667 |  | 
| @@ -29723,6 +29738,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 29723 29738 | 
             
                    enableLoadingSubstates: !!moduleBasedResolver
         | 
| 29724 29739 | 
             
                  };
         | 
| 29725 29740 |  | 
| 29741 | 
            +
                  if (false) {
         | 
| 29742 | 
            +
                    options.router = this;
         | 
| 29743 | 
            +
                  }
         | 
| 29744 | 
            +
             | 
| 29726 29745 | 
             
                  return new _emberRoutingSystemDsl.default(null, options);
         | 
| 29727 29746 | 
             
                },
         | 
| 29728 29747 |  | 
| @@ -29733,6 +29752,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 29733 29752 | 
             
                  this._qpCache = new _emberMetalEmpty_object.default();
         | 
| 29734 29753 | 
             
                  this._resetQueuedQueryParameterChanges();
         | 
| 29735 29754 | 
             
                  this._handledErrors = _emberMetalDictionary.default(null);
         | 
| 29755 | 
            +
             | 
| 29756 | 
            +
                  if (false) {
         | 
| 29757 | 
            +
                    this._serializeMethods = new _emberMetalEmpty_object.default();
         | 
| 29758 | 
            +
                  }
         | 
| 29736 29759 | 
             
                },
         | 
| 29737 29760 |  | 
| 29738 29761 | 
             
                /*
         | 
| @@ -30193,6 +30216,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 30193 30216 |  | 
| 30194 30217 | 
             
                  router.getHandler = this._getHandlerFunction();
         | 
| 30195 30218 |  | 
| 30219 | 
            +
                  if (false) {
         | 
| 30220 | 
            +
                    router.getSerializer = this._getSerializerFunction();
         | 
| 30221 | 
            +
                  }
         | 
| 30222 | 
            +
             | 
| 30196 30223 | 
             
                  var doUpdateURL = function () {
         | 
| 30197 30224 | 
             
                    location.setURL(lastURL);
         | 
| 30198 30225 | 
             
                  };
         | 
| @@ -30267,11 +30294,8 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 30267 30294 | 
             
                  _emberMetalDebug.assert('The route ' + targetRouteName + ' was not found', targetRouteName && this.router.hasRoute(targetRouteName));
         | 
| 30268 30295 |  | 
| 30269 30296 | 
             
                  var queryParams = {};
         | 
| 30270 | 
            -
             | 
| 30271 | 
            -
                   | 
| 30272 | 
            -
                  if (this.router.activeTransition) {
         | 
| 30273 | 
            -
                    _emberMetalAssign.default(queryParams, this.router.activeTransition.queryParams);
         | 
| 30274 | 
            -
                  }
         | 
| 30297 | 
            +
             | 
| 30298 | 
            +
                  this._processActiveTransitionQueryParams(targetRouteName, models, queryParams, _queryParams);
         | 
| 30275 30299 |  | 
| 30276 30300 | 
             
                  _emberMetalAssign.default(queryParams, _queryParams);
         | 
| 30277 30301 | 
             
                  this._prepareQueryParams(targetRouteName, models, queryParams);
         | 
| @@ -30284,6 +30308,29 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 30284 30308 | 
             
                  return transition;
         | 
| 30285 30309 | 
             
                },
         | 
| 30286 30310 |  | 
| 30311 | 
            +
                _processActiveTransitionQueryParams: function (targetRouteName, models, queryParams, _queryParams) {
         | 
| 30312 | 
            +
                  // merge in any queryParams from the active transition which could include
         | 
| 30313 | 
            +
                  // queryParams from the url on initial load.
         | 
| 30314 | 
            +
                  if (!this.router.activeTransition) {
         | 
| 30315 | 
            +
                    return;
         | 
| 30316 | 
            +
                  }
         | 
| 30317 | 
            +
             | 
| 30318 | 
            +
                  var unchangedQPs = {};
         | 
| 30319 | 
            +
                  var qpUpdates = this._qpUpdates || {};
         | 
| 30320 | 
            +
                  for (var key in this.router.activeTransition.queryParams) {
         | 
| 30321 | 
            +
                    if (!qpUpdates[key]) {
         | 
| 30322 | 
            +
                      unchangedQPs[key] = this.router.activeTransition.queryParams[key];
         | 
| 30323 | 
            +
                    }
         | 
| 30324 | 
            +
                  }
         | 
| 30325 | 
            +
             | 
| 30326 | 
            +
                  // We need to fully scope queryParams so that we can create one object
         | 
| 30327 | 
            +
                  // that represents both pased in queryParams and ones that aren't changed
         | 
| 30328 | 
            +
                  // from the active transition.
         | 
| 30329 | 
            +
                  this._fullyScopeQueryParams(targetRouteName, models, _queryParams);
         | 
| 30330 | 
            +
                  this._fullyScopeQueryParams(targetRouteName, models, unchangedQPs);
         | 
| 30331 | 
            +
                  _emberMetalAssign.default(queryParams, unchangedQPs);
         | 
| 30332 | 
            +
                },
         | 
| 30333 | 
            +
             | 
| 30287 30334 | 
             
                _prepareQueryParams: function (targetRouteName, models, queryParams) {
         | 
| 30288 30335 | 
             
                  this._hydrateUnsuppliedQueryParams(targetRouteName, models, queryParams);
         | 
| 30289 30336 | 
             
                  this._serializeQueryParams(targetRouteName, queryParams);
         | 
| @@ -30329,6 +30376,30 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 30329 30376 | 
             
                  };
         | 
| 30330 30377 | 
             
                },
         | 
| 30331 30378 |  | 
| 30379 | 
            +
                _fullyScopeQueryParams: function (leafRouteName, contexts, queryParams) {
         | 
| 30380 | 
            +
                  var state = calculatePostTransitionState(this, leafRouteName, contexts);
         | 
| 30381 | 
            +
                  var handlerInfos = state.handlerInfos;
         | 
| 30382 | 
            +
                  _emberRoutingUtils.stashParamNames(this, handlerInfos);
         | 
| 30383 | 
            +
             | 
| 30384 | 
            +
                  for (var i = 0, len = handlerInfos.length; i < len; ++i) {
         | 
| 30385 | 
            +
                    var route = handlerInfos[i].handler;
         | 
| 30386 | 
            +
                    var qpMeta = _emberMetalProperty_get.get(route, '_qp');
         | 
| 30387 | 
            +
             | 
| 30388 | 
            +
                    for (var j = 0, qpLen = qpMeta.qps.length; j < qpLen; ++j) {
         | 
| 30389 | 
            +
                      var qp = qpMeta.qps[j];
         | 
| 30390 | 
            +
             | 
| 30391 | 
            +
                      var presentProp = qp.prop in queryParams && qp.prop || qp.scopedPropertyName in queryParams && qp.scopedPropertyName || qp.urlKey in queryParams && qp.urlKey;
         | 
| 30392 | 
            +
             | 
| 30393 | 
            +
                      if (presentProp) {
         | 
| 30394 | 
            +
                        if (presentProp !== qp.scopedPropertyName) {
         | 
| 30395 | 
            +
                          queryParams[qp.scopedPropertyName] = queryParams[presentProp];
         | 
| 30396 | 
            +
                          delete queryParams[presentProp];
         | 
| 30397 | 
            +
                        }
         | 
| 30398 | 
            +
                      }
         | 
| 30399 | 
            +
                    }
         | 
| 30400 | 
            +
                  }
         | 
| 30401 | 
            +
                },
         | 
| 30402 | 
            +
             | 
| 30332 30403 | 
             
                _hydrateUnsuppliedQueryParams: function (leafRouteName, contexts, queryParams) {
         | 
| 30333 30404 | 
             
                  var state = calculatePostTransitionState(this, leafRouteName, contexts);
         | 
| 30334 30405 | 
             
                  var handlerInfos = state.handlerInfos;
         | 
| @@ -30342,7 +30413,7 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 30342 30413 | 
             
                    for (var j = 0, qpLen = qpMeta.qps.length; j < qpLen; ++j) {
         | 
| 30343 30414 | 
             
                      var qp = qpMeta.qps[j];
         | 
| 30344 30415 |  | 
| 30345 | 
            -
                      var presentProp = qp.prop in queryParams && qp.prop || qp.scopedPropertyName in queryParams && qp.scopedPropertyName;
         | 
| 30416 | 
            +
                      var presentProp = qp.prop in queryParams && qp.prop || qp.scopedPropertyName in queryParams && qp.scopedPropertyName || qp.urlKey in queryParams && qp.urlKey;
         | 
| 30346 30417 |  | 
| 30347 30418 | 
             
                      if (presentProp) {
         | 
| 30348 30419 | 
             
                        if (presentProp !== qp.scopedPropertyName) {
         | 
| @@ -30607,6 +30678,10 @@ enifed('ember-routing/system/router', ['exports', 'ember-console', 'ember-metal/ | |
| 30607 30678 |  | 
| 30608 30679 | 
             
              function updatePaths(router) {
         | 
| 30609 30680 | 
             
                var infos = router.router.currentHandlerInfos;
         | 
| 30681 | 
            +
                if (infos.length === 0) {
         | 
| 30682 | 
            +
                  return;
         | 
| 30683 | 
            +
                }
         | 
| 30684 | 
            +
             | 
| 30610 30685 | 
             
                var path = EmberRouter._routePath(infos);
         | 
| 30611 30686 | 
             
                var currentRouteName = infos[infos.length - 1].name;
         | 
| 30612 30687 |  | 
| @@ -31111,7 +31186,7 @@ enifed('ember-runtime/compare', ['exports', 'ember-runtime/utils', 'ember-runtim | |
| 31111 31186 | 
             
              // ,'________________                          \`-._`-','
         | 
| 31112 31187 | 
             
              //  `._              ```````````------...___   '-.._'-:
         | 
| 31113 31188 | 
             
              //     ```--.._      ,.                     ````--...__\-.
         | 
| 31114 | 
            -
              //             `.--. `-` " | 
| 31189 | 
            +
              //             `.--. `-` "INFINITY IS LESS     ____    |  |`
         | 
| 31115 31190 | 
             
              //               `. `.   THAN BEYOND"        ,'`````.  ;  ;`
         | 
| 31116 31191 | 
             
              //                 `._`.        __________   `.      \'__/`
         | 
| 31117 31192 | 
             
              //                    `-:._____/______/___/____`.     \  `
         | 
| @@ -32858,13 +32933,6 @@ enifed('ember-runtime/copy', ['exports', 'ember-metal/debug', 'ember-runtime/sys | |
| 32858 32933 | 
             
                return _copy(obj, deep, deep ? [] : null, deep ? [] : null);
         | 
| 32859 32934 | 
             
              }
         | 
| 32860 32935 | 
             
            });
         | 
| 32861 | 
            -
            enifed("ember-runtime/core", ["exports"], function (exports) {
         | 
| 32862 | 
            -
              "use strict";
         | 
| 32863 | 
            -
            });
         | 
| 32864 | 
            -
            /**
         | 
| 32865 | 
            -
            @module ember
         | 
| 32866 | 
            -
            @submodule ember-runtime
         | 
| 32867 | 
            -
            */
         | 
| 32868 32936 | 
             
            enifed('ember-runtime/ext/function', ['exports', 'ember-environment', 'ember-metal/debug', 'ember-metal/computed', 'ember-metal/mixin'], function (exports, _emberEnvironment, _emberMetalDebug, _emberMetalComputed, _emberMetalMixin) {
         | 
| 32869 32937 | 
             
              /**
         | 
| 32870 32938 | 
             
              @module ember
         | 
| @@ -32918,7 +32986,7 @@ enifed('ember-runtime/ext/function', ['exports', 'ember-environment', 'ember-met | |
| 32918 32986 | 
             
                  will not immediately trigger an update of the computed property, but
         | 
| 32919 32987 | 
             
                  will instead clear the cache so that it is updated when the next `get`
         | 
| 32920 32988 | 
             
                  is called on the property.
         | 
| 32921 | 
            -
                   See [Ember.ComputedProperty](/api/classes/Ember.ComputedProperty.html), [Ember.computed](/api | 
| 32989 | 
            +
                   See [Ember.ComputedProperty](/api/classes/Ember.ComputedProperty.html), [Ember.computed](/api/classes/Ember.computed.html).
         | 
| 32922 32990 | 
             
                   @method property
         | 
| 32923 32991 | 
             
                  @for Function
         | 
| 32924 32992 | 
             
                  @public
         | 
| @@ -33264,7 +33332,9 @@ enifed('ember-runtime/index', ['exports', 'ember-metal', 'ember-runtime/is-equal | |
| 33264 33332 | 
             
              EmComputed.filterBy = _emberRuntimeComputedReduce_computed_macros.filterBy;
         | 
| 33265 33333 | 
             
              EmComputed.uniq = _emberRuntimeComputedReduce_computed_macros.uniq;
         | 
| 33266 33334 |  | 
| 33267 | 
            -
               | 
| 33335 | 
            +
              if (true) {
         | 
| 33336 | 
            +
                EmComputed.uniqBy = _emberRuntimeComputedReduce_computed_macros.uniqBy;
         | 
| 33337 | 
            +
              }
         | 
| 33268 33338 |  | 
| 33269 33339 | 
             
              EmComputed.union = _emberRuntimeComputedReduce_computed_macros.union;
         | 
| 33270 33340 | 
             
              EmComputed.intersect = _emberRuntimeComputedReduce_computed_macros.intersect;
         | 
| @@ -33890,6 +33960,9 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta | |
| 33890 33960 | 
             
              }).readOnly(), _Mixin$create.lastObject = _emberMetalComputed.computed(function () {
         | 
| 33891 33961 | 
             
                return objectAt(this, _emberMetalProperty_get.get(this, 'length') - 1);
         | 
| 33892 33962 | 
             
              }).readOnly(), _Mixin$create.contains = function (obj) {
         | 
| 33963 | 
            +
                if (false) {
         | 
| 33964 | 
            +
                  _emberMetalDebug.deprecate('`Enumerable#contains` is deprecated, use `Enumerable#includes` instead.', false, { id: 'ember-runtime.enumerable-contains', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_enumerable-contains' });
         | 
| 33965 | 
            +
                }
         | 
| 33893 33966 |  | 
| 33894 33967 | 
             
                return this.indexOf(obj) >= 0;
         | 
| 33895 33968 | 
             
              }, _Mixin$create.slice = function (beginIndex, endIndex) {
         | 
| @@ -34060,6 +34133,56 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta | |
| 34060 34133 | 
             
                return this.__each;
         | 
| 34061 34134 | 
             
              }).volatile(), _Mixin$create));
         | 
| 34062 34135 |  | 
| 34136 | 
            +
              if (false) {
         | 
| 34137 | 
            +
                ArrayMixin.reopen({
         | 
| 34138 | 
            +
                  /**
         | 
| 34139 | 
            +
                    Returns `true` if the passed object can be found in the array.
         | 
| 34140 | 
            +
                    This method is a Polyfill for ES 2016 Array.includes.
         | 
| 34141 | 
            +
                    If no `startAt` argument is given, the starting location to
         | 
| 34142 | 
            +
                    search is 0. If it's negative, searches from the index of
         | 
| 34143 | 
            +
                    `this.length + startAt` by asc.
         | 
| 34144 | 
            +
                    ```javascript
         | 
| 34145 | 
            +
                    [1, 2, 3].includes(2);     // true
         | 
| 34146 | 
            +
                    [1, 2, 3].includes(4);     // false
         | 
| 34147 | 
            +
                    [1, 2, 3].includes(3, 2);  // true
         | 
| 34148 | 
            +
                    [1, 2, 3].includes(3, 3);  // false
         | 
| 34149 | 
            +
                    [1, 2, 3].includes(3, -1); // true
         | 
| 34150 | 
            +
                    [1, 2, 3].includes(1, -1); // false
         | 
| 34151 | 
            +
                    [1, 2, 3].includes(1, -4); // true
         | 
| 34152 | 
            +
                    [1, 2, NaN].includes(NaN); // true
         | 
| 34153 | 
            +
                    ```
         | 
| 34154 | 
            +
                    @method includes
         | 
| 34155 | 
            +
                    @param {Object} obj The object to search for.
         | 
| 34156 | 
            +
                    @param {Number} startAt optional starting location to search, default 0
         | 
| 34157 | 
            +
                    @return {Boolean} `true` if object is found in the array.
         | 
| 34158 | 
            +
                    @public
         | 
| 34159 | 
            +
                  */
         | 
| 34160 | 
            +
                  includes: function (obj, startAt) {
         | 
| 34161 | 
            +
                    var len = _emberMetalProperty_get.get(this, 'length');
         | 
| 34162 | 
            +
                    var idx, currentObj;
         | 
| 34163 | 
            +
             | 
| 34164 | 
            +
                    if (startAt === undefined) {
         | 
| 34165 | 
            +
                      startAt = 0;
         | 
| 34166 | 
            +
                    }
         | 
| 34167 | 
            +
             | 
| 34168 | 
            +
                    if (startAt < 0) {
         | 
| 34169 | 
            +
                      startAt += len;
         | 
| 34170 | 
            +
                    }
         | 
| 34171 | 
            +
             | 
| 34172 | 
            +
                    for (idx = startAt; idx < len; idx++) {
         | 
| 34173 | 
            +
                      currentObj = objectAt(this, idx);
         | 
| 34174 | 
            +
             | 
| 34175 | 
            +
                      // SameValueZero comparison (NaN !== NaN)
         | 
| 34176 | 
            +
                      if (obj === currentObj || obj !== obj && currentObj !== currentObj) {
         | 
| 34177 | 
            +
                        return true;
         | 
| 34178 | 
            +
                      }
         | 
| 34179 | 
            +
                    }
         | 
| 34180 | 
            +
             | 
| 34181 | 
            +
                    return false;
         | 
| 34182 | 
            +
                  }
         | 
| 34183 | 
            +
                });
         | 
| 34184 | 
            +
              }
         | 
| 34185 | 
            +
             | 
| 34063 34186 | 
             
              exports.default = ArrayMixin;
         | 
| 34064 34187 | 
             
            });
         | 
| 34065 34188 | 
             
            // ES6TODO: Ember.A
         | 
| @@ -34276,31 +34399,6 @@ enifed('ember-runtime/mixins/array', ['exports', 'ember-metal/core', 'ember-meta | |
| 34276 34399 | 
             
               @property @each
         | 
| 34277 34400 | 
             
              @public
         | 
| 34278 34401 | 
             
            */
         | 
| 34279 | 
            -
             | 
| 34280 | 
            -
            /**
         | 
| 34281 | 
            -
              Returns `true` if the passed object can be found in the array.
         | 
| 34282 | 
            -
              This method is a Polyfill for ES 2016 Array.includes.
         | 
| 34283 | 
            -
              If no `startAt` argument is given, the starting location to
         | 
| 34284 | 
            -
              search is 0. If it's negative, searches from the index of
         | 
| 34285 | 
            -
              `this.length + startAt` by asc.
         | 
| 34286 | 
            -
              ```javascript
         | 
| 34287 | 
            -
              [1, 2, 3].includes(2);     // true
         | 
| 34288 | 
            -
              [1, 2, 3].includes(4);     // false
         | 
| 34289 | 
            -
              [1, 2, 3].includes(3, 2);  // true
         | 
| 34290 | 
            -
              [1, 2, 3].includes(3, 3);  // false
         | 
| 34291 | 
            -
              [1, 2, 3].includes(3, -1); // true
         | 
| 34292 | 
            -
              [1, 2, 3].includes(1, -1); // false
         | 
| 34293 | 
            -
              [1, 2, 3].includes(1, -4); // true
         | 
| 34294 | 
            -
              [1, 2, NaN].includes(NaN); // true
         | 
| 34295 | 
            -
              ```
         | 
| 34296 | 
            -
              @method includes
         | 
| 34297 | 
            -
              @param {Object} obj The object to search for.
         | 
| 34298 | 
            -
              @param {Number} startAt optional starting location to search, default 0
         | 
| 34299 | 
            -
              @return {Boolean} `true` if object is found in the array.
         | 
| 34300 | 
            -
              @public
         | 
| 34301 | 
            -
            */
         | 
| 34302 | 
            -
             | 
| 34303 | 
            -
            // SameValueZero comparison (NaN !== NaN)
         | 
| 34304 34402 | 
             
            enifed('ember-runtime/mixins/comparable', ['exports', 'ember-metal/mixin'], function (exports, _emberMetalMixin) {
         | 
| 34305 34403 | 
             
              'use strict';
         | 
| 34306 34404 |  | 
| @@ -34810,6 +34908,9 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/property_get' | |
| 34810 34908 | 
             
                  @public
         | 
| 34811 34909 | 
             
                */
         | 
| 34812 34910 | 
             
                contains: function (obj) {
         | 
| 34911 | 
            +
                  if (false) {
         | 
| 34912 | 
            +
                    _emberMetalDebug.deprecate('`Enumerable#contains` is deprecated, use `Enumerable#includes` instead.', false, { id: 'ember-runtime.enumerable-contains', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_enumerable-contains' });
         | 
| 34913 | 
            +
                  }
         | 
| 34813 34914 |  | 
| 34814 34915 | 
             
                  var found = this.find(function (item) {
         | 
| 34815 34916 | 
             
                    return item === obj;
         | 
| @@ -35592,54 +35693,98 @@ enifed('ember-runtime/mixins/enumerable', ['exports', 'ember-metal/property_get' | |
| 35592 35693 | 
             
                }
         | 
| 35593 35694 | 
             
              });
         | 
| 35594 35695 |  | 
| 35595 | 
            -
               | 
| 35596 | 
            -
                 | 
| 35597 | 
            -
                   | 
| 35598 | 
            -
             | 
| 35599 | 
            -
             | 
| 35600 | 
            -
             | 
| 35601 | 
            -
             | 
| 35602 | 
            -
             | 
| 35603 | 
            -
             | 
| 35604 | 
            -
             | 
| 35605 | 
            -
             | 
| 35606 | 
            -
             | 
| 35696 | 
            +
              if (true) {
         | 
| 35697 | 
            +
                Enumerable.reopen({
         | 
| 35698 | 
            +
                  /**
         | 
| 35699 | 
            +
                    Returns a new enumerable that contains only items containing a unique property value.
         | 
| 35700 | 
            +
                    The default implementation returns an array regardless of the receiver type.
         | 
| 35701 | 
            +
                     ```javascript
         | 
| 35702 | 
            +
                    var arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];
         | 
| 35703 | 
            +
                    arr.uniqBy('value');  // [{ value: 'a' }, { value: 'b' }]
         | 
| 35704 | 
            +
                    ```
         | 
| 35705 | 
            +
                     @method uniqBy
         | 
| 35706 | 
            +
                    @return {Ember.Enumerable}
         | 
| 35707 | 
            +
                    @public
         | 
| 35708 | 
            +
                  */
         | 
| 35607 35709 |  | 
| 35608 | 
            -
             | 
| 35609 | 
            -
             | 
| 35610 | 
            -
             | 
| 35710 | 
            +
                  uniqBy: function (key) {
         | 
| 35711 | 
            +
                    var ret = emberA();
         | 
| 35712 | 
            +
                    var seen = new _emberMetalEmpty_object.default();
         | 
| 35611 35713 |  | 
| 35612 | 
            -
             | 
| 35613 | 
            -
             | 
| 35614 | 
            -
             | 
| 35615 | 
            -
             | 
| 35616 | 
            -
             | 
| 35714 | 
            +
                    this.forEach(function (item) {
         | 
| 35715 | 
            +
                      var guid = _emberMetalUtils.guidFor(_emberMetalProperty_get.get(item, key));
         | 
| 35716 | 
            +
                      if (!(guid in seen)) {
         | 
| 35717 | 
            +
                        seen[guid] = true;
         | 
| 35718 | 
            +
                        ret.push(item);
         | 
| 35719 | 
            +
                      }
         | 
| 35720 | 
            +
                    });
         | 
| 35721 | 
            +
             | 
| 35722 | 
            +
                    return ret;
         | 
| 35723 | 
            +
                  }
         | 
| 35724 | 
            +
                });
         | 
| 35725 | 
            +
              }
         | 
| 35726 | 
            +
             | 
| 35727 | 
            +
              if (false) {
         | 
| 35728 | 
            +
                Enumerable.reopen({
         | 
| 35729 | 
            +
                  /**
         | 
| 35730 | 
            +
                    Returns `true` if the passed object can be found in the enumerable.
         | 
| 35731 | 
            +
                    ```javascript
         | 
| 35732 | 
            +
                    [1, 2, 3].includes(2);                     // true
         | 
| 35733 | 
            +
                    [1, 2, 3].includes(4);                     // false
         | 
| 35734 | 
            +
                    [1, 2, undefined].includes(undefined);     // true
         | 
| 35735 | 
            +
                    [1, 2, null].includes(null);               // true
         | 
| 35736 | 
            +
                    [1, 2, NaN].includes(NaN);                 // true
         | 
| 35737 | 
            +
                    ```
         | 
| 35738 | 
            +
                    @method includes
         | 
| 35739 | 
            +
                    @param {Object} obj The object to search for.
         | 
| 35740 | 
            +
                    @return {Boolean} `true` if object is found in the enumerable.
         | 
| 35741 | 
            +
                    @public
         | 
| 35742 | 
            +
                  */
         | 
| 35743 | 
            +
                  includes: function (obj) {
         | 
| 35744 | 
            +
                    _emberMetalDebug.assert('Enumerable#includes cannot accept a second argument "startAt" as enumerable items are unordered.', arguments.length === 1);
         | 
| 35745 | 
            +
             | 
| 35746 | 
            +
                    var len = _emberMetalProperty_get.get(this, 'length');
         | 
| 35747 | 
            +
                    var idx, next;
         | 
| 35748 | 
            +
                    var last = null;
         | 
| 35749 | 
            +
                    var found = false;
         | 
| 35750 | 
            +
             | 
| 35751 | 
            +
                    var context = popCtx();
         | 
| 35752 | 
            +
             | 
| 35753 | 
            +
                    for (idx = 0; idx < len && !found; idx++) {
         | 
| 35754 | 
            +
                      next = this.nextObject(idx, last, context);
         | 
| 35755 | 
            +
             | 
| 35756 | 
            +
                      found = obj === next || obj !== obj && next !== next;
         | 
| 35757 | 
            +
             | 
| 35758 | 
            +
                      last = next;
         | 
| 35617 35759 | 
             
                    }
         | 
| 35618 | 
            -
                  });
         | 
| 35619 35760 |  | 
| 35620 | 
            -
             | 
| 35621 | 
            -
             | 
| 35622 | 
            -
              });
         | 
| 35623 | 
            -
              exports.default = Enumerable;
         | 
| 35624 | 
            -
            });
         | 
| 35761 | 
            +
                    next = last = null;
         | 
| 35762 | 
            +
                    context = pushCtx(context);
         | 
| 35625 35763 |  | 
| 35626 | 
            -
             | 
| 35627 | 
            -
             | 
| 35628 | 
            -
             | 
| 35629 | 
            -
             | 
| 35630 | 
            -
             | 
| 35631 | 
            -
             | 
| 35632 | 
            -
             | 
| 35633 | 
            -
              [1, 2, NaN].includes(NaN);                 // true
         | 
| 35634 | 
            -
              ```
         | 
| 35635 | 
            -
              @method includes
         | 
| 35636 | 
            -
              @param {Object} obj The object to search for.
         | 
| 35637 | 
            -
              @return {Boolean} `true` if object is found in the enumerable.
         | 
| 35638 | 
            -
              @public
         | 
| 35639 | 
            -
            */
         | 
| 35640 | 
            -
            // nothing to do
         | 
| 35764 | 
            +
                    return found;
         | 
| 35765 | 
            +
                  },
         | 
| 35766 | 
            +
             | 
| 35767 | 
            +
                  without: function (value) {
         | 
| 35768 | 
            +
                    if (!this.includes(value)) {
         | 
| 35769 | 
            +
                      return this; // nothing to do
         | 
| 35770 | 
            +
                    }
         | 
| 35641 35771 |  | 
| 35642 | 
            -
             | 
| 35772 | 
            +
                    var ret = emberA();
         | 
| 35773 | 
            +
             | 
| 35774 | 
            +
                    this.forEach(function (k) {
         | 
| 35775 | 
            +
                      // SameValueZero comparison (NaN !== NaN)
         | 
| 35776 | 
            +
                      if (!(k === value || k !== k && value !== value)) {
         | 
| 35777 | 
            +
                        ret[ret.length] = k;
         | 
| 35778 | 
            +
                      }
         | 
| 35779 | 
            +
                    });
         | 
| 35780 | 
            +
             | 
| 35781 | 
            +
                    return ret;
         | 
| 35782 | 
            +
                  }
         | 
| 35783 | 
            +
                });
         | 
| 35784 | 
            +
              }
         | 
| 35785 | 
            +
             | 
| 35786 | 
            +
              exports.default = Enumerable;
         | 
| 35787 | 
            +
            });
         | 
| 35643 35788 | 
             
            enifed('ember-runtime/mixins/evented', ['exports', 'ember-metal/mixin', 'ember-metal/events'], function (exports, _emberMetalMixin, _emberMetalEvents) {
         | 
| 35644 35789 | 
             
              'use strict';
         | 
| 35645 35790 |  | 
| @@ -36234,7 +36379,11 @@ enifed('ember-runtime/mixins/mutable_array', ['exports', 'ember-metal/property_g | |
| 36234 36379 | 
             
                addObject: function (obj) {
         | 
| 36235 36380 | 
             
                  var included;
         | 
| 36236 36381 |  | 
| 36237 | 
            -
                   | 
| 36382 | 
            +
                  if (false) {
         | 
| 36383 | 
            +
                    included = this.includes(obj);
         | 
| 36384 | 
            +
                  } else {
         | 
| 36385 | 
            +
                    included = this.contains(obj);
         | 
| 36386 | 
            +
                  }
         | 
| 36238 36387 |  | 
| 36239 36388 | 
             
                  if (!included) {
         | 
| 36240 36389 | 
             
                    this.pushObject(obj);
         | 
| @@ -37902,7 +38051,11 @@ enifed('ember-runtime/system/core_object', ['exports', 'ember-metal/debug', 'emb | |
| 37902 38051 | 
             
                          if (typeof this.setUnknownProperty === 'function' && !(keyName in this)) {
         | 
| 37903 38052 | 
             
                            this.setUnknownProperty(keyName, value);
         | 
| 37904 38053 | 
             
                          } else {
         | 
| 37905 | 
            -
                             | 
| 38054 | 
            +
                            if (true) {
         | 
| 38055 | 
            +
                              _emberMetalProperties.defineProperty(this, keyName, null, value); // setup mandatory setter
         | 
| 38056 | 
            +
                            } else {
         | 
| 38057 | 
            +
                                this[keyName] = value;
         | 
| 38058 | 
            +
                              }
         | 
| 37906 38059 | 
             
                          }
         | 
| 37907 38060 | 
             
                        }
         | 
| 37908 38061 | 
             
                      }
         | 
| @@ -39097,7 +39250,7 @@ enifed('ember-runtime/system/native_array', ['exports', 'ember-metal/core', 'emb | |
| 39097 39250 | 
             
                  if (len === 0) {
         | 
| 39098 39251 | 
             
                    this.splice(idx, amt);
         | 
| 39099 39252 | 
             
                  } else {
         | 
| 39100 | 
            -
                    _emberMetalReplace. | 
| 39253 | 
            +
                    _emberMetalReplace.default(this, idx, amt, objects);
         | 
| 39101 39254 | 
             
                  }
         | 
| 39102 39255 |  | 
| 39103 39256 | 
             
                  this.arrayContentDidChange(idx, amt, len);
         | 
| @@ -39806,8 +39959,11 @@ enifed('ember-template-compiler/compat/precompile', ['exports', 'require', 'embe | |
| 39806 39959 | 
             
              var compile, compileSpec, compileOptions;
         | 
| 39807 39960 |  | 
| 39808 39961 | 
             
              // Note we don't really want to expose this from main file
         | 
| 39809 | 
            -
             | 
| 39810 | 
            -
             | 
| 39962 | 
            +
              if (false) {
         | 
| 39963 | 
            +
                compileOptions = _require.default('ember-glimmer-template-compiler/system/compile-options').default;
         | 
| 39964 | 
            +
              } else {
         | 
| 39965 | 
            +
                compileOptions = _require.default('ember-htmlbars-template-compiler/system/compile-options').default;
         | 
| 39966 | 
            +
              }
         | 
| 39811 39967 |  | 
| 39812 39968 | 
             
              exports.default = function (string) {
         | 
| 39813 39969 | 
             
                if ((!compile || !compileSpec) && _require.has('htmlbars-compiler/compiler')) {
         | 
| @@ -39853,8 +40009,11 @@ enifed('ember-template-compiler/compiler', ['exports', 'ember-metal/features', ' | |
| 39853 40009 |  | 
| 39854 40010 | 
             
              function pickCompiler() {
         | 
| 39855 40011 | 
             
                var compiler = undefined;
         | 
| 39856 | 
            -
             | 
| 39857 | 
            -
             | 
| 40012 | 
            +
                if (false) {
         | 
| 40013 | 
            +
                  compiler = _require.default('ember-glimmer-template-compiler');
         | 
| 40014 | 
            +
                } else {
         | 
| 40015 | 
            +
                  compiler = _require.default('ember-htmlbars-template-compiler');
         | 
| 40016 | 
            +
                }
         | 
| 39858 40017 |  | 
| 39859 40018 | 
             
                return compiler;
         | 
| 39860 40019 | 
             
              }
         | 
| @@ -40531,46 +40690,74 @@ enifed('ember-templates/component', ['exports', 'ember-metal/features', 'require | |
| 40531 40690 | 
             
              'use strict';
         | 
| 40532 40691 |  | 
| 40533 40692 | 
             
              exports.default = (function () {
         | 
| 40534 | 
            -
                 | 
| 40693 | 
            +
                if (false) {
         | 
| 40694 | 
            +
                  return _require.default('ember-glimmer/component').default;
         | 
| 40695 | 
            +
                } else {
         | 
| 40696 | 
            +
                  return _require.default('ember-htmlbars/component').default;
         | 
| 40697 | 
            +
                }
         | 
| 40535 40698 | 
             
              })();
         | 
| 40536 40699 | 
             
            });
         | 
| 40537 40700 | 
             
            enifed('ember-templates/components/checkbox', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
         | 
| 40538 40701 | 
             
              'use strict';
         | 
| 40539 40702 |  | 
| 40540 40703 | 
             
              exports.default = (function () {
         | 
| 40541 | 
            -
                 | 
| 40704 | 
            +
                if (false) {
         | 
| 40705 | 
            +
                  return _require.default('ember-glimmer/components/checkbox').default;
         | 
| 40706 | 
            +
                } else {
         | 
| 40707 | 
            +
                  return _require.default('ember-htmlbars/components/checkbox').default;
         | 
| 40708 | 
            +
                }
         | 
| 40542 40709 | 
             
              })();
         | 
| 40543 40710 | 
             
            });
         | 
| 40544 40711 | 
             
            enifed('ember-templates/components/link-to', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
         | 
| 40545 40712 | 
             
              'use strict';
         | 
| 40546 40713 |  | 
| 40547 40714 | 
             
              exports.default = (function () {
         | 
| 40548 | 
            -
                 | 
| 40715 | 
            +
                if (false) {
         | 
| 40716 | 
            +
                  return _require.default('ember-glimmer/components/link-to').default;
         | 
| 40717 | 
            +
                } else {
         | 
| 40718 | 
            +
                  return _require.default('ember-htmlbars/components/link-to').default;
         | 
| 40719 | 
            +
                }
         | 
| 40549 40720 | 
             
              })();
         | 
| 40550 40721 | 
             
            });
         | 
| 40551 40722 | 
             
            enifed('ember-templates/components/text_area', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
         | 
| 40552 40723 | 
             
              'use strict';
         | 
| 40553 40724 |  | 
| 40554 40725 | 
             
              exports.default = (function () {
         | 
| 40555 | 
            -
                 | 
| 40726 | 
            +
                if (false) {
         | 
| 40727 | 
            +
                  return _require.default('ember-glimmer/components/text_area').default;
         | 
| 40728 | 
            +
                } else {
         | 
| 40729 | 
            +
                  return _require.default('ember-htmlbars/components/text_area').default;
         | 
| 40730 | 
            +
                }
         | 
| 40556 40731 | 
             
              })();
         | 
| 40557 40732 | 
             
            });
         | 
| 40558 40733 | 
             
            enifed('ember-templates/components/text_field', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
         | 
| 40559 40734 | 
             
              'use strict';
         | 
| 40560 40735 |  | 
| 40561 40736 | 
             
              exports.default = (function () {
         | 
| 40562 | 
            -
                 | 
| 40737 | 
            +
                if (false) {
         | 
| 40738 | 
            +
                  return _require.default('ember-glimmer/components/text_field').default;
         | 
| 40739 | 
            +
                } else {
         | 
| 40740 | 
            +
                  return _require.default('ember-htmlbars/components/text_field').default;
         | 
| 40741 | 
            +
                }
         | 
| 40563 40742 | 
             
              })();
         | 
| 40564 40743 | 
             
            });
         | 
| 40565 40744 | 
             
            enifed('ember-templates/helper', ['exports', 'ember-metal/features', 'require'], function (exports, _emberMetalFeatures, _require) {
         | 
| 40566 40745 | 
             
              'use strict';
         | 
| 40567 40746 |  | 
| 40568 40747 | 
             
              exports.default = (function () {
         | 
| 40569 | 
            -
                 | 
| 40748 | 
            +
                if (false) {
         | 
| 40749 | 
            +
                  return _require.default('ember-glimmer/helper').default;
         | 
| 40750 | 
            +
                } else {
         | 
| 40751 | 
            +
                  return _require.default('ember-htmlbars/helper').default;
         | 
| 40752 | 
            +
                }
         | 
| 40570 40753 | 
             
              })();
         | 
| 40571 40754 |  | 
| 40572 40755 | 
             
              var helper = (function () {
         | 
| 40573 | 
            -
                 | 
| 40756 | 
            +
                if (false) {
         | 
| 40757 | 
            +
                  return _require.default('ember-glimmer/helper').helper;
         | 
| 40758 | 
            +
                } else {
         | 
| 40759 | 
            +
                  return _require.default('ember-htmlbars/helper').helper;
         | 
| 40760 | 
            +
                }
         | 
| 40574 40761 | 
             
              })();
         | 
| 40575 40762 | 
             
              exports.helper = helper;
         | 
| 40576 40763 | 
             
            });
         | 
| @@ -40610,17 +40797,29 @@ enifed('ember-templates/renderer', ['exports', 'ember-metal/features', 'require' | |
| 40610 40797 | 
             
              'use strict';
         | 
| 40611 40798 |  | 
| 40612 40799 | 
             
              var InteractiveRenderer = (function () {
         | 
| 40613 | 
            -
                 | 
| 40800 | 
            +
                if (false) {
         | 
| 40801 | 
            +
                  return _require.default('ember-glimmer/renderer').InteractiveRenderer;
         | 
| 40802 | 
            +
                } else {
         | 
| 40803 | 
            +
                  return _require.default('ember-htmlbars/renderer').InteractiveRenderer;
         | 
| 40804 | 
            +
                }
         | 
| 40614 40805 | 
             
              })();
         | 
| 40615 40806 |  | 
| 40616 40807 | 
             
              exports.InteractiveRenderer = InteractiveRenderer;
         | 
| 40617 40808 | 
             
              var InertRenderer = (function () {
         | 
| 40618 | 
            -
                 | 
| 40809 | 
            +
                if (false) {
         | 
| 40810 | 
            +
                  return _require.default('ember-glimmer/renderer').InertRenderer;
         | 
| 40811 | 
            +
                } else {
         | 
| 40812 | 
            +
                  return _require.default('ember-htmlbars/renderer').InertRenderer;
         | 
| 40813 | 
            +
                }
         | 
| 40619 40814 | 
             
              })();
         | 
| 40620 40815 |  | 
| 40621 40816 | 
             
              exports.InertRenderer = InertRenderer;
         | 
| 40622 40817 | 
             
              var Renderer = (function () {
         | 
| 40623 | 
            -
                 | 
| 40818 | 
            +
                if (false) {
         | 
| 40819 | 
            +
                  return _require.default('ember-glimmer/renderer').Renderer;
         | 
| 40820 | 
            +
                } else {
         | 
| 40821 | 
            +
                  return _require.default('ember-htmlbars/renderer').Renderer;
         | 
| 40822 | 
            +
                }
         | 
| 40624 40823 | 
             
              })();
         | 
| 40625 40824 | 
             
              exports.Renderer = Renderer;
         | 
| 40626 40825 | 
             
            });
         | 
| @@ -41173,13 +41372,12 @@ enifed('ember-testing/helpers/key_event', ['exports'], function (exports) { | |
| 41173 41372 | 
             
                return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
         | 
| 41174 41373 | 
             
              }
         | 
| 41175 41374 | 
             
            });
         | 
| 41176 | 
            -
            enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp' | 
| 41375 | 
            +
            enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp'], function (exports, _emberRuntimeExtRsvp) {
         | 
| 41177 41376 | 
             
              'use strict';
         | 
| 41178 41377 |  | 
| 41179 41378 | 
             
              exports.default = pauseTest;
         | 
| 41180 41379 |  | 
| 41181 41380 | 
             
              function pauseTest() {
         | 
| 41182 | 
            -
                _emberTestingTest.default.adapter.asyncStart();
         | 
| 41183 41381 | 
             
                return new _emberRuntimeExtRsvp.default.Promise(function () {}, 'TestAdapter paused promise');
         | 
| 41184 41382 | 
             
              }
         | 
| 41185 41383 | 
             
            });
         | 
| @@ -41523,7 +41721,7 @@ enifed('ember-testing/helpers', ['exports', 'ember-testing/test/helpers', 'ember | |
| 41523 41721 | 
             
               @return {Object} A promise that will never resolve
         | 
| 41524 41722 | 
             
               @public
         | 
| 41525 41723 | 
             
              */
         | 
| 41526 | 
            -
              _emberTestingTestHelpers. | 
| 41724 | 
            +
              _emberTestingTestHelpers.registerAsyncHelper('pauseTest', _emberTestingHelpersPause_test.default);
         | 
| 41527 41725 |  | 
| 41528 41726 | 
             
              /**
         | 
| 41529 41727 | 
             
                Triggers the given DOM event on the element identified by the provided selector.
         | 
| @@ -42043,12 +42241,14 @@ enifed('ember-testing/test/run', ['exports', 'ember-metal/run_loop'], function ( | |
| 42043 42241 | 
             
                }
         | 
| 42044 42242 | 
             
              }
         | 
| 42045 42243 | 
             
            });
         | 
| 42046 | 
            -
            enifed( | 
| 42047 | 
            -
               | 
| 42244 | 
            +
            enifed('ember-testing/test/waiters', ['exports', 'ember-metal/features', 'ember-metal/debug'], function (exports, _emberMetalFeatures, _emberMetalDebug) {
         | 
| 42245 | 
            +
              'use strict';
         | 
| 42048 42246 |  | 
| 42049 42247 | 
             
              exports.registerWaiter = registerWaiter;
         | 
| 42050 42248 | 
             
              exports.unregisterWaiter = unregisterWaiter;
         | 
| 42051 42249 | 
             
              exports.checkWaiters = checkWaiters;
         | 
| 42250 | 
            +
              exports.generateDeprecatedWaitersArray = generateDeprecatedWaitersArray;
         | 
| 42251 | 
            +
             | 
| 42052 42252 | 
             
              var contexts = [];
         | 
| 42053 42253 | 
             
              var callbacks = [];
         | 
| 42054 42254 |  | 
| @@ -42121,6 +42321,20 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) { | |
| 42121 42321 | 
             
                callbacks.splice(i, 1);
         | 
| 42122 42322 | 
             
              }
         | 
| 42123 42323 |  | 
| 42324 | 
            +
              /**
         | 
| 42325 | 
            +
                Iterates through each registered test waiter, and invokes
         | 
| 42326 | 
            +
                its callback. If any waiter returns false, this method will return
         | 
| 42327 | 
            +
                true indicating that the waiters have not settled yet.
         | 
| 42328 | 
            +
              
         | 
| 42329 | 
            +
                This is generally used internally from the acceptance/integration test
         | 
| 42330 | 
            +
                infrastructure.
         | 
| 42331 | 
            +
              
         | 
| 42332 | 
            +
                @public
         | 
| 42333 | 
            +
                @for Ember.Test
         | 
| 42334 | 
            +
                @static
         | 
| 42335 | 
            +
                @method checkWaiters
         | 
| 42336 | 
            +
              */
         | 
| 42337 | 
            +
             | 
| 42124 42338 | 
             
              function checkWaiters() {
         | 
| 42125 42339 | 
             
                if (!callbacks.length) {
         | 
| 42126 42340 | 
             
                  return false;
         | 
| @@ -42143,8 +42357,22 @@ enifed("ember-testing/test/waiters", ["exports"], function (exports) { | |
| 42143 42357 | 
             
                }
         | 
| 42144 42358 | 
             
                return -1;
         | 
| 42145 42359 | 
             
              }
         | 
| 42360 | 
            +
             | 
| 42361 | 
            +
              function generateDeprecatedWaitersArray() {
         | 
| 42362 | 
            +
                _emberMetalDebug.deprecate('Usage of `Ember.Test.waiters` is deprecated. Please refactor to `Ember.Test.checkWaiters`.', !false, { until: '2.8.0', id: 'ember-testing.test-waiters' });
         | 
| 42363 | 
            +
             | 
| 42364 | 
            +
                var array = new Array(callbacks.length);
         | 
| 42365 | 
            +
                for (var i = 0; i < callbacks.length; i++) {
         | 
| 42366 | 
            +
                  var context = contexts[i];
         | 
| 42367 | 
            +
                  var callback = callbacks[i];
         | 
| 42368 | 
            +
             | 
| 42369 | 
            +
                  array[i] = [context, callback];
         | 
| 42370 | 
            +
                }
         | 
| 42371 | 
            +
             | 
| 42372 | 
            +
                return array;
         | 
| 42373 | 
            +
              }
         | 
| 42146 42374 | 
             
            });
         | 
| 42147 | 
            -
            enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter) {
         | 
| 42375 | 
            +
            enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-testing/test/on_inject_helpers', 'ember-testing/test/promise', 'ember-testing/test/waiters', 'ember-testing/test/adapter', 'ember-metal/features'], function (exports, _emberTestingTestHelpers, _emberTestingTestOn_inject_helpers, _emberTestingTestPromise, _emberTestingTestWaiters, _emberTestingTestAdapter, _emberMetalFeatures) {
         | 
| 42148 42376 | 
             
              /**
         | 
| 42149 42377 | 
             
                @module ember
         | 
| 42150 42378 | 
             
                @submodule ember-testing
         | 
| @@ -42183,6 +42411,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te | |
| 42183 42411 | 
             
                unregisterWaiter: _emberTestingTestWaiters.unregisterWaiter
         | 
| 42184 42412 | 
             
              };
         | 
| 42185 42413 |  | 
| 42414 | 
            +
              if (false) {
         | 
| 42415 | 
            +
                Test.checkWaiters = _emberTestingTestWaiters.checkWaiters;
         | 
| 42416 | 
            +
              }
         | 
| 42417 | 
            +
             | 
| 42186 42418 | 
             
              /**
         | 
| 42187 42419 | 
             
               Used to allow ember-testing to communicate with a specific testing
         | 
| 42188 42420 | 
             
               framework.
         | 
| @@ -42208,6 +42440,10 @@ enifed('ember-testing/test', ['exports', 'ember-testing/test/helpers', 'ember-te | |
| 42208 42440 | 
             
                set: _emberTestingTestAdapter.setAdapter
         | 
| 42209 42441 | 
             
              });
         | 
| 42210 42442 |  | 
| 42443 | 
            +
              Object.defineProperty(Test, 'waiters', {
         | 
| 42444 | 
            +
                get: _emberTestingTestWaiters.generateDeprecatedWaitersArray
         | 
| 42445 | 
            +
              });
         | 
| 42446 | 
            +
             | 
| 42211 42447 | 
             
              exports.default = Test;
         | 
| 42212 42448 | 
             
            });
         | 
| 42213 42449 | 
             
            enifed('ember-views/compat/attrs-proxy', ['exports', 'ember-metal/mixin', 'ember-metal/symbol', 'ember-metal/property_events'], function (exports, _emberMetalMixin, _emberMetalSymbol, _emberMetalProperty_events) {
         | 
| @@ -43397,8 +43633,7 @@ enifed('ember-views/mixins/view_support', ['exports', 'ember-metal/debug', 'embe | |
| 43397 43633 | 
             
                },
         | 
| 43398 43634 |  | 
| 43399 43635 | 
             
                /**
         | 
| 43400 | 
            -
                   | 
| 43401 | 
            -
                   Creates a new DOM element, renders the view into it, then returns the
         | 
| 43636 | 
            +
                  Creates a new DOM element, renders the view into it, then returns the
         | 
| 43402 43637 | 
             
                  element.
         | 
| 43403 43638 | 
             
                   By default, the element created and rendered into will be a `BODY` element,
         | 
| 43404 43639 | 
             
                  since this is the default context that views are rendered into when being
         | 
| @@ -45571,10 +45806,12 @@ enifed('htmlbars-runtime/expression-visitor', ['exports'], function (exports) { | |
| 45571 45806 |  | 
| 45572 45807 | 
             
                // Primitive literals are unambiguously non-array representations of
         | 
| 45573 45808 | 
             
                // themselves.
         | 
| 45574 | 
            -
                if ( | 
| 45575 | 
            -
                   | 
| 45576 | 
            -
             | 
| 45809 | 
            +
                if (Array.isArray(node)) {
         | 
| 45810 | 
            +
                  // if (node.length !== 7) { throw new Error('FIXME: Invalid statement length!'); }
         | 
| 45811 | 
            +
             | 
| 45577 45812 | 
             
                  ret.value = evaluateNode(node, env, scope);
         | 
| 45813 | 
            +
                } else {
         | 
| 45814 | 
            +
                  ret.value = node;
         | 
| 45578 45815 | 
             
                }
         | 
| 45579 45816 |  | 
| 45580 45817 | 
             
                return ret;
         | 
| @@ -47124,13 +47361,14 @@ enifed("htmlbars-runtime/render", ["exports", "htmlbars-util/morph-utils", "html | |
| 47124 47361 | 
             
                  if (typeof attributes[key] === 'string') {
         | 
| 47125 47362 | 
             
                    continue;
         | 
| 47126 47363 | 
             
                  }
         | 
| 47127 | 
            -
             | 
| 47364 | 
            +
             | 
| 47365 | 
            +
                  statements.push(_htmlbarsUtilTemplateUtils.buildStatement("attribute", key, attributes[key]));
         | 
| 47128 47366 | 
             
                }
         | 
| 47129 47367 |  | 
| 47130 47368 | 
             
                var isEmpty = _isEmpty || _htmlbarsUtilVoidTagNames.default[tagName];
         | 
| 47131 47369 |  | 
| 47132 47370 | 
             
                if (!isEmpty) {
         | 
| 47133 | 
            -
                  statements.push( | 
| 47371 | 
            +
                  statements.push(_htmlbarsUtilTemplateUtils.buildStatement('content', 'yield'));
         | 
| 47134 47372 | 
             
                }
         | 
| 47135 47373 |  | 
| 47136 47374 | 
             
                var template = {
         | 
| @@ -47192,7 +47430,7 @@ enifed("htmlbars-runtime/render", ["exports", "htmlbars-util/morph-utils", "html | |
| 47192 47430 | 
             
                  if (typeof attributes[key] === 'string') {
         | 
| 47193 47431 | 
             
                    continue;
         | 
| 47194 47432 | 
             
                  }
         | 
| 47195 | 
            -
                  statements.push( | 
| 47433 | 
            +
                  statements.push(_htmlbarsUtilTemplateUtils.buildStatement("attribute", key, attributes[key]));
         | 
| 47196 47434 | 
             
                }
         | 
| 47197 47435 |  | 
| 47198 47436 | 
             
                var template = {
         | 
| @@ -47816,11 +48054,13 @@ enifed('htmlbars-util/safe-string', ['exports', 'htmlbars-util/handlebars/safe-s | |
| 47816 48054 | 
             
            enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils", "htmlbars-runtime/render"], function (exports, _htmlbarsUtilMorphUtils, _htmlbarsRuntimeRender) {
         | 
| 47817 48055 | 
             
              "use strict";
         | 
| 47818 48056 |  | 
| 48057 | 
            +
              var _slice = Array.prototype.slice;
         | 
| 47819 48058 | 
             
              exports.RenderState = RenderState;
         | 
| 47820 48059 | 
             
              exports.blockFor = blockFor;
         | 
| 47821 48060 | 
             
              exports.renderAndCleanup = renderAndCleanup;
         | 
| 47822 48061 | 
             
              exports.clearMorph = clearMorph;
         | 
| 47823 48062 | 
             
              exports.clearMorphList = clearMorphList;
         | 
| 48063 | 
            +
              exports.buildStatement = buildStatement;
         | 
| 47824 48064 |  | 
| 47825 48065 | 
             
              function RenderState(renderNode, morphList) {
         | 
| 47826 48066 | 
             
                // The morph list that is no longer needed and can be
         | 
| @@ -48014,6 +48254,17 @@ enifed("htmlbars-util/template-utils", ["exports", "htmlbars-util/morph-utils", | |
| 48014 48254 | 
             
                morphList.clear();
         | 
| 48015 48255 | 
             
                morph.morphList = null;
         | 
| 48016 48256 | 
             
              }
         | 
| 48257 | 
            +
             | 
| 48258 | 
            +
              function buildStatement() {
         | 
| 48259 | 
            +
                var statement = [].concat(_slice.call(arguments));
         | 
| 48260 | 
            +
             | 
| 48261 | 
            +
                // ensure array length is 7 by padding with 0
         | 
| 48262 | 
            +
                for (var i = arguments.length; i < 7; i++) {
         | 
| 48263 | 
            +
                  statement[i] = 0;
         | 
| 48264 | 
            +
                }
         | 
| 48265 | 
            +
             | 
| 48266 | 
            +
                return statement;
         | 
| 48267 | 
            +
              }
         | 
| 48017 48268 | 
             
            });
         | 
| 48018 48269 | 
             
            enifed("htmlbars-util/void-tag-names", ["exports", "htmlbars-util/array-utils"], function (exports, _htmlbarsUtilArrayUtils) {
         | 
| 48019 48270 | 
             
              "use strict";
         |