polymer-rails 1.0.6 → 1.0.7
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
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 6e60e9c03cbc73a2ba56357a90887b2d8da9ee08
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 831baa1eb5c10b24d86eaa5a2b93198360f07216
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 454c524339c884bf208ade8fbc372c1c00288779edfa124181c9ae7feb0b91ce7bf6b44b1fed7912ec6683331d3f16afa763c1f014b73c33e55a42ec093656b1
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 0a6d85f444772d21f214f39db74b9c476aff97c3ab4536169fd32c411f12880ae491b6b3cfea73a57b599048a93f8d6639221bd0ad58c4756ddfb5dd3e5ea2cc
         
     | 
| 
         @@ -13,21 +13,6 @@ document.body.removeAttribute('unresolved'); 
     | 
|
| 
       13 
13 
     | 
    
         
             
            if (window.WebComponents) {
         
     | 
| 
       14 
14 
     | 
    
         
             
            addEventListener('WebComponentsReady', resolve);
         
     | 
| 
       15 
15 
     | 
    
         
             
            } else {
         
     | 
| 
       16 
     | 
    
         
            -
            if (document.readyState =<!--
         
     | 
| 
       17 
     | 
    
         
            -
            @license
         
     | 
| 
       18 
     | 
    
         
            -
            Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
         
     | 
| 
       19 
     | 
    
         
            -
            This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
         
     | 
| 
       20 
     | 
    
         
            -
            The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
         
     | 
| 
       21 
     | 
    
         
            -
            The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
         
     | 
| 
       22 
     | 
    
         
            -
            Code distributed by Google as part of the polymer project is also
         
     | 
| 
       23 
     | 
    
         
            -
            subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
         
     | 
| 
       24 
     | 
    
         
            -
            --><script>(function () {
         
     | 
| 
       25 
     | 
    
         
            -
            function resolve() {
         
     | 
| 
       26 
     | 
    
         
            -
            document.body.removeAttribute('unresolved');
         
     | 
| 
       27 
     | 
    
         
            -
            }
         
     | 
| 
       28 
     | 
    
         
            -
            if (window.WebComponents) {
         
     | 
| 
       29 
     | 
    
         
            -
            addEventListener('WebComponentsReady', resolve);
         
     | 
| 
       30 
     | 
    
         
            -
            } else {
         
     | 
| 
       31 
16 
     | 
    
         
             
            if (document.readyState === 'interactive' || document.readyState === 'complete') {
         
     | 
| 
       32 
17 
     | 
    
         
             
            resolve();
         
     | 
| 
       33 
18 
     | 
    
         
             
            } else {
         
     | 
| 
         @@ -74,7 +59,11 @@ document.registerElement(prototype.is, options); 
     | 
|
| 
       74 
59 
     | 
    
         
             
            return ctor;
         
     | 
| 
       75 
60 
     | 
    
         
             
            };
         
     | 
| 
       76 
61 
     | 
    
         
             
            var desugar = function (prototype) {
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
            var base = Polymer.Base;
         
     | 
| 
      
 63 
     | 
    
         
            +
            if (prototype.extends) {
         
     | 
| 
      
 64 
     | 
    
         
            +
            base = Polymer.Base._getExtendedPrototype(prototype.extends);
         
     | 
| 
      
 65 
     | 
    
         
            +
            }
         
     | 
| 
      
 66 
     | 
    
         
            +
            prototype = Polymer.Base.chainObject(prototype, base);
         
     | 
| 
       78 
67 
     | 
    
         
             
            prototype.registerCallback();
         
     | 
| 
       79 
68 
     | 
    
         
             
            return prototype.constructor;
         
     | 
| 
       80 
69 
     | 
    
         
             
            };
         
     | 
| 
         @@ -107,6 +96,7 @@ return (document._currentScript || document.currentScript).ownerDocument; 
     | 
|
| 
       107 
96 
     | 
    
         
             
            }
         
     | 
| 
       108 
97 
     | 
    
         
             
            });
         
     | 
| 
       109 
98 
     | 
    
         
             
            Polymer.Base = {
         
     | 
| 
      
 99 
     | 
    
         
            +
            __isPolymerInstance__: true,
         
     | 
| 
       110 
100 
     | 
    
         
             
            _addFeature: function (feature) {
         
     | 
| 
       111 
101 
     | 
    
         
             
            this.extend(this, feature);
         
     | 
| 
       112 
102 
     | 
    
         
             
            },
         
     | 
| 
         @@ -176,6 +166,16 @@ object.__proto__ = inherited; 
     | 
|
| 
       176 
166 
     | 
    
         
             
            return object;
         
     | 
| 
       177 
167 
     | 
    
         
             
            };
         
     | 
| 
       178 
168 
     | 
    
         
             
            Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype);
         
     | 
| 
      
 169 
     | 
    
         
            +
            if (window.CustomElements) {
         
     | 
| 
      
 170 
     | 
    
         
            +
            Polymer.instanceof = CustomElements.instanceof;
         
     | 
| 
      
 171 
     | 
    
         
            +
            } else {
         
     | 
| 
      
 172 
     | 
    
         
            +
            Polymer.instanceof = function (obj, ctor) {
         
     | 
| 
      
 173 
     | 
    
         
            +
            return obj instanceof ctor;
         
     | 
| 
      
 174 
     | 
    
         
            +
            };
         
     | 
| 
      
 175 
     | 
    
         
            +
            }
         
     | 
| 
      
 176 
     | 
    
         
            +
            Polymer.isInstance = function (obj) {
         
     | 
| 
      
 177 
     | 
    
         
            +
            return Boolean(obj && obj.__isPolymerInstance__);
         
     | 
| 
      
 178 
     | 
    
         
            +
            };
         
     | 
| 
       179 
179 
     | 
    
         
             
            Polymer.telemetry.instanceCount = 0;
         
     | 
| 
       180 
180 
     | 
    
         
             
            (function () {
         
     | 
| 
       181 
181 
     | 
    
         
             
            var modules = {};
         
     | 
| 
         @@ -304,525 +304,6 @@ this._marshalBehavior(this); 
     | 
|
| 
       304 
304 
     | 
    
         
             
            }
         
     | 
| 
       305 
305 
     | 
    
         
             
            });
         
     | 
| 
       306 
306 
     | 
    
         
             
            Polymer.Base._addFeature({
         
     | 
| 
       307 
     | 
    
         
            -
            _prepExtends: function () {
         
     | 
| 
       308 
     | 
    
         
            -
            if (this.extends) {
         
     | 
| 
       309 
     | 
    
         
            -
            this.__proto__ = this._getExtendedPrototype(this.extends);
         
     | 
| 
       310 
     | 
    
         
            -
            }
         
     | 
| 
       311 
     | 
    
         
            -
            },
         
     | 
| 
       312 
     | 
    
         
            -
            _getExtendedPrototype: function (tag) {
         
     | 
| 
       313 
     | 
    
         
            -
            return this._getExtendedNativePrototype(tag);
         
     | 
| 
       314 
     | 
    
         
            -
            },
         
     | 
| 
       315 
     | 
    
         
            -
            _nativePrototypes: {},
         
     | 
| 
       316 
     | 
    
         
            -
            _getExtendedNativePrototype: function (tag) {
         
     | 
| 
       317 
     | 
    
         
            -
            var p = this._nativePrototypes[tag];
         
     | 
| 
       318 
     | 
    
         
            -
            if (!p) {
         
     | 
| 
       319 
     | 
    
         
            -
            var np = this.getNativePrototype(tag);
         
     | 
| 
       320 
     | 
    
         
            -
            p = this.extend(Object.create(np), Polymer.Base);
         
     | 
| 
       321 
     | 
    
         
            -
            this._nativePrototypes[tag] = p;
         
     | 
| 
       322 
     | 
    
         
            -
            }
         
     | 
| 
       323 
     | 
    
         
            -
            return p;
         
     | 
| 
       324 
     | 
    
         
            -
            },
         
     | 
| 
       325 
     | 
    
         
            -
            getNativePrototype: function (tag) {
         
     | 
| 
       326 
     | 
    
         
            -
            return Object.getPrototypeOf(document.createElement(tag));
         
     | 
| 
       327 
     | 
    
         
            -
            }
         
     | 
| 
       328 
     | 
    
         
            -
            });
         
     | 
| 
       329 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       330 
     | 
    
         
            -
            _prepConstructor: function () {
         
     | 
| 
       331 
     | 
    
         
            -
            this._factoryArgs = this.extends ? [
         
     | 
| 
       332 
     | 
    
         
            -
            this.extends,
         
     | 
| 
       333 
     | 
    
         
            -
            this.is
         
     | 
| 
       334 
     | 
    
         
            -
            ] : [this.is];
         
     | 
| 
       335 
     | 
    
         
            -
            var ctor = function () {
         
     | 
| 
       336 
     | 
    
         
            -
            return this._factory(arguments);
         
     | 
| 
       337 
     | 
    
         
            -
            };
         
     | 
| 
       338 
     | 
    
         
            -
            if (this.hasOwnProperty('extends')) {
         
     | 
| 
       339 
     | 
    
         
            -
            ctor.extends = this.extends;
         
     | 
| 
       340 
     | 
    
         
            -
            }
         
     | 
| 
       341 
     | 
    
         
            -
            Object.defineProperty(this, 'constructor', {
         
     | 
| 
       342 
     | 
    
         
            -
            value: ctor,
         
     | 
| 
       343 
     | 
    
         
            -
            writable: true,
         
     | 
| 
       344 
     | 
    
         
            -
            configurable: true
         
     | 
| 
       345 
     | 
    
         
            -
            });
         
     | 
| 
       346 
     | 
    
         
            -
            ctor.prototype = this;
         
     | 
| 
       347 
     | 
    
         
            -
            },
         
     | 
| 
       348 
     | 
    
         
            -
            _factory: function (args) {
         
     | 
| 
       349 
     | 
    
         
            -
            var elt = document.createElement.apply(document, this._factoryArgs);
         
     | 
| 
       350 
     | 
    
         
            -
            if (this.factoryImpl) {
         
     | 
| 
       351 
     | 
    
         
            -
            this.factoryImpl.apply(elt, args);
         
     | 
| 
       352 
     | 
    
         
            -
            }
         
     | 
| 
       353 
     | 
    
         
            -
            return elt;
         
     | 
| 
       354 
     | 
    
         
            -
            }
         
     | 
| 
       355 
     | 
    
         
            -
            });
         
     | 
| 
       356 
     | 
    
         
            -
            Polymer.nob = Object.create(null);
         
     | 
| 
       357 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       358 
     | 
    
         
            -
            properties: {},
         
     | 
| 
       359 
     | 
    
         
            -
            getPropertyInfo: function (property) {
         
     | 
| 
       360 
     | 
    
         
            -
            var info = this._getPropertyInfo(property, this.properties);
         
     | 
| 
       361 
     | 
    
         
            -
            if (!info) {
         
     | 
| 
       362 
     | 
    
         
            -
            this.behaviors.some(function (b) {
         
     | 
| 
       363 
     | 
    
         
            -
            return info = this._getPropertyInfo(property, b.properties);
         
     | 
| 
       364 
     | 
    
         
            -
            }, this);
         
     | 
| 
       365 
     | 
    
         
            -
            }
         
     | 
| 
       366 
     | 
    
         
            -
            return info || Polymer.nob;
         
     | 
| 
       367 
     | 
    
         
            -
            },
         
     | 
| 
       368 
     | 
    
         
            -
            _getPropertyInfo: function (property, properties) {
         
     | 
| 
       369 
     | 
    
         
            -
            var p = properties && properties[property];
         
     | 
| 
       370 
     | 
    
         
            -
            if (typeof p === 'function') {
         
     | 
| 
       371 
     | 
    
         
            -
            p = properties[property] = { type: p };
         
     | 
| 
       372 
     | 
    
         
            -
            }
         
     | 
| 
       373 
     | 
    
         
            -
            if (p) {
         
     | 
| 
       374 
     | 
    
         
            -
            p.defined = true;
         
     | 
| 
       375 
     | 
    
         
            -
            }
         
     | 
| 
       376 
     | 
    
         
            -
            return p;
         
     | 
| 
       377 
     | 
    
         
            -
            }
         
     | 
| 
       378 
     | 
    
         
            -
            });
         
     | 
| 
       379 
     | 
    
         
            -
            Polymer.CaseMap = {
         
     | 
| 
       380 
     | 
    
         
            -
            _caseMap: {},
         
     | 
| 
       381 
     | 
    
         
            -
            dashToCamelCase: function (dash) {
         
     | 
| 
       382 
     | 
    
         
            -
            var mapped = Polymer.CaseMap._caseMap[dash];
         
     | 
| 
       383 
     | 
    
         
            -
            if (mapped) {
         
     | 
| 
       384 
     | 
    
         
            -
            return mapped;
         
     | 
| 
       385 
     | 
    
         
            -
            }
         
     | 
| 
       386 
     | 
    
         
            -
            if (dash.indexOf('-') < 0) {
         
     | 
| 
       387 
     | 
    
         
            -
            return Polymer.CaseMap._caseMap[dash] = dash;
         
     | 
| 
       388 
     | 
    
         
            -
            }
         
     | 
| 
       389 
     | 
    
         
            -
            return Polymer.CaseMap._caseMap[dash] = dash.replace(/-([a-z])/g, function (m) {
         
     | 
| 
       390 
     | 
    
         
            -
            return m[1].toUpperCase();
         
     | 
| 
       391 
     | 
    
         
            -
            });
         
     | 
| 
       392 
     | 
    
         
            -
            },
         
     | 
| 
       393 
     | 
    
         
            -
            camelToDashCase: function (camel) {
         
     | 
| 
       394 
     | 
    
         
            -
            var mapped = Polymer.CaseMap._caseMap[camel];
         
     | 
| 
       395 
     | 
    
         
            -
            if (mapped) {
         
     | 
| 
       396 
     | 
    
         
            -
            return mapped;
         
     | 
| 
       397 
     | 
    
         
            -
            }
         
     | 
| 
       398 
     | 
    
         
            -
            return Polymer.CaseMap._caseMap[camel] = camel.replace(/([a-z][A-Z])/g, function (g) {
         
     | 
| 
       399 
     | 
    
         
            -
            return g[0] + '-' + g[1].toLowerCase();
         
     | 
| 
       400 
     | 
    
         
            -
            });
         
     | 
| 
       401 
     | 
    
         
            -
            }
         
     | 
| 
       402 
     | 
    
         
            -
            };
         
     | 
| 
       403 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       404 
     | 
    
         
            -
            _prepAttributes: function () {
         
     | 
| 
       405 
     | 
    
         
            -
            this._aggregatedAttributes = {};
         
     | 
| 
       406 
     | 
    
         
            -
            },
         
     | 
| 
       407 
     | 
    
         
            -
            _addHostAttributes: function (attributes) {
         
     | 
| 
       408 
     | 
    
         
            -
            if (attributes) {
         
     | 
| 
       409 
     | 
    
         
            -
            this.mixin(this._aggregatedAttributes, attributes);
         
     | 
| 
       410 
     | 
    
         
            -
            }
         
     | 
| 
       411 
     | 
    
         
            -
            },
         
     | 
| 
       412 
     | 
    
         
            -
            _marshalHostAttributes: function () {
         
     | 
| 
       413 
     | 
    
         
            -
            this._applyAttributes(this, this._aggregatedAttributes);
         
     | 
| 
       414 
     | 
    
         
            -
            },
         
     | 
| 
       415 
     | 
    
         
            -
            _applyAttributes: function (node, attr$) {
         
     | 
| 
       416 
     | 
    
         
            -
            for (var n in attr$) {
         
     | 
| 
       417 
     | 
    
         
            -
            if (!this.hasAttribute(n) && n !== 'class') {
         
     | 
| 
       418 
     | 
    
         
            -
            this.serializeValueToAttribute(attr$[n], n, this);
         
     | 
| 
       419 
     | 
    
         
            -
            }
         
     | 
| 
       420 
     | 
    
         
            -
            }
         
     | 
| 
       421 
     | 
    
         
            -
            },
         
     | 
| 
       422 
     | 
    
         
            -
            _marshalAttributes: function () {
         
     | 
| 
       423 
     | 
    
         
            -
            this._takeAttributesToModel(this);
         
     | 
| 
       424 
     | 
    
         
            -
            },
         
     | 
| 
       425 
     | 
    
         
            -
            _takeAttributesToModel: function (model) {
         
     | 
| 
       426 
     | 
    
         
            -
            for (var i = 0, l = this.attributes.length; i < l; i++) {
         
     | 
| 
       427 
     | 
    
         
            -
            this._setAttributeToProperty(model, this.attributes[i].name);
         
     | 
| 
       428 
     | 
    
         
            -
            }
         
     | 
| 
       429 
     | 
    
         
            -
            },
         
     | 
| 
       430 
     | 
    
         
            -
            _setAttributeToProperty: function (model, attrName) {
         
     | 
| 
       431 
     | 
    
         
            -
            if (!this._serializing) {
         
     | 
| 
       432 
     | 
    
         
            -
            var propName = Polymer.CaseMap.dashToCamelCase(attrName);
         
     | 
| 
       433 
     | 
    
         
            -
            var info = this.getPropertyInfo(propName);
         
     | 
| 
       434 
     | 
    
         
            -
            if (info.defined || this._propertyEffects && this._propertyEffects[propName]) {
         
     | 
| 
       435 
     | 
    
         
            -
            var val = this.getAttribute(attrName);
         
     | 
| 
       436 
     | 
    
         
            -
            model[propName] = this.deserialize(val, info.type);
         
     | 
| 
       437 
     | 
    
         
            -
            }
         
     | 
| 
       438 
     | 
    
         
            -
            }
         
     | 
| 
       439 
     | 
    
         
            -
            },
         
     | 
| 
       440 
     | 
    
         
            -
            _serializing: false,
         
     | 
| 
       441 
     | 
    
         
            -
            reflectPropertyToAttribute: function (name) {
         
     | 
| 
       442 
     | 
    
         
            -
            this._serializing = true;
         
     | 
| 
       443 
     | 
    
         
            -
            this.serializeValueToAttribute(this[name], Polymer.CaseMap.camelToDashCase(name));
         
     | 
| 
       444 
     | 
    
         
            -
            this._serializing = false;
         
     | 
| 
       445 
     | 
    
         
            -
            },
         
     | 
| 
       446 
     | 
    
         
            -
            serializeValueToAttribute: function (value, attribute, node) {
         
     | 
| 
       447 
     | 
    
         
            -
            var str = this.serialize(value);
         
     | 
| 
       448 
     | 
    
         
            -
            (node || this)[str === undefined ? 'removeAttribute' : 'setAttribute'](attribute, str);
         
     | 
| 
       449 
     | 
    
         
            -
            },
         
     | 
| 
       450 
     | 
    
         
            -
            deserialize: function (value, type) {
         
     | 
| 
       451 
     | 
    
         
            -
            switch (type) {
         
     | 
| 
       452 
     | 
    
         
            -
            case Number:
         
     | 
| 
       453 
     | 
    
         
            -
            value = Number(value);
         
     | 
| 
       454 
     | 
    
         
            -
            break;
         
     | 
| 
       455 
     | 
    
         
            -
            case Boolean:
         
     | 
| 
       456 
     | 
    
         
            -
            value = value !== null;
         
     | 
| 
       457 
     | 
    
         
            -
            break;
         
     | 
| 
       458 
     | 
    
         
            -
            case Object:
         
     | 
| 
       459 
     | 
    
         
            -
            try {
         
     | 
| 
       460 
     | 
    
         
            -
            value = JSON.parse(value);
         
     | 
| 
       461 
     | 
    
         
            -
            } catch (x) {
         
     | 
| 
       462 
     | 
    
         
            -
            }
         
     | 
| 
       463 
     | 
    
         
            -
            break;
         
     | 
| 
       464 
     | 
    
         
            -
            case Array:
         
     | 
| 
       465 
     | 
    
         
            -
            try {
         
     | 
| 
       466 
     | 
    
         
            -
            value = JSON.parse(value);
         
     | 
| 
       467 
     | 
    
         
            -
            } catch (x) {
         
     | 
| 
       468 
     | 
    
         
            -
            value = null;
         
     | 
| 
       469 
     | 
    
         
            -
            console.warn('Polymer::Attributes: couldn`t decode Array as JSON');
         
     | 
| 
       470 
     | 
    
         
            -
            }
         
     | 
| 
       471 
     | 
    
         
            -
            break;
         
     | 
| 
       472 
     | 
    
         
            -
            case Date:
         
     | 
| 
       473 
     | 
    
         
            -
            value = new Date(value);
         
     | 
| 
       474 
     | 
    
         
            -
            break;
         
     | 
| 
       475 
     | 
    
         
            -
            case String:
         
     | 
| 
       476 
     | 
    
         
            -
            default:
         
     | 
| 
       477 
     | 
    
         
            -
            break;
         
     | 
| 
       478 
     | 
    
         
            -
            }
         
     | 
| 
       479 
     | 
    
         
            -
            return value;
         
     | 
| 
       480 
     | 
    
         
            -
            },
         
     | 
| 
       481 
     | 
    
         
            -
            serialize: function (value) {
         
     | 
| 
       482 
     | 
    
         
            -
            switch (typeof value) {
         
     | 
| 
       483 
     | 
    
         
            -
            case 'boolean':
         
     | 
| 
       484 
     | 
    
         
            -
            return value ? '' : undefined;
         
     | 
| 
       485 
     | 
    
         
            -
            case 'object':
         
     | 
| 
       486 
     | 
    
         
            -
            if (value instanceof Date) {
         
     | 
| 
       487 
     | 
    
         
            -
            return value;
         
     | 
| 
       488 
     | 
    
         
            -
            } else if (value) {
         
     | 
| 
       489 
     | 
    
         
            -
            try {
         
     | 
| 
       490 
     | 
    
         
            -
            return JSON.stringify(value);
         
     | 
| 
       491 
     | 
    
         
            -
            } catch (x) {
         
     | 
| 
       492 
     | 
    
         
            -
            return '';
         
     | 
| 
       493 
     | 
    
         
            -
            }
         
     | 
| 
       494 
     | 
    
         
            -
            }
         
     | 
| 
       495 
     | 
    
         
            -
            default:
         
     | 
| 
       496 
     | 
    
         
            -
            return value != null ? value : undefined;
         
     | 
| 
       497 
     | 
    
         
            -
            }
         
     | 
| 
       498 
     | 
    
         
            -
            }
         
     | 
| 
       499 
     | 
    
         
            -
            });
         
     | 
| 
       500 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       501 
     | 
    
         
            -
            _setupDebouncers: function () {
         
     | 
| 
       502 
     | 
    
         
            -
            this._debouncers = {};
         
     | 
| 
       503 
     | 
    
         
            -
            },
         
     | 
| 
       504 
     | 
    
         
            -
            debounce: function (jobName, callback, wait) {
         
     | 
| 
       505 
     | 
    
         
            -
            this._debouncers[jobName] = Polymer.Debounce.call(this, this._debouncers[jobName], callback, wait);
         
     | 
| 
       506 
     | 
    
         
            -
            },
         
     | 
| 
       507 
     | 
    
         
            -
            isDebouncerActive: function (jobName) {
         
     | 
| 
       508 
     | 
    
         
            -
            var debouncer = this._debouncers[jobName];
         
     | 
| 
       509 
     | 
    
         
            -
            return debouncer && debouncer.finish;
         
     | 
| 
       510 
     | 
    
         
            -
            },
         
     | 
| 
       511 
     | 
    
         
            -
            flushDebouncer: function (jobName) {
         
     | 
| 
       512 
     | 
    
         
            -
            var debouncer = this._debouncers[jobName];
         
     | 
| 
       513 
     | 
    
         
            -
            if (debouncer) {
         
     | 
| 
       514 
     | 
    
         
            -
            debouncer.complete();
         
     | 
| 
       515 
     | 
    
         
            -
            }
         
     | 
| 
       516 
     | 
    
         
            -
            },
         
     | 
| 
       517 
     | 
    
         
            -
            cancelDebouncer: function (jobName) {
         
     | 
| 
       518 
     | 
    
         
            -
            var debouncer = this._debouncers[jobName];
         
     | 
| 
       519 
     | 
    
         
            -
            if (debouncer) {
         
     | 
| 
       520 
     | 
    
         
            -
            debouncer.stop();
         
     | 
| 
       521 
     | 
    
         
            -
            }
         
     | 
| 
       522 
     | 
    
         
            -
            }
         
     | 
| 
       523 
     | 
    
         
            -
            });
         
     | 
| 
       524 
     | 
    
         
            -
            Polymer.version = '1.0.6';
         
     | 
| 
       525 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       526 
     | 
    
         
            -
            _registerFeatures: function () {
         
     | 
| 
       527 
     | 
    
         
            -
            this._prepIs();
         
     | 
| 
       528 
     | 
    
         
            -
            this._prepAttributes();
         
     | 
| 
       529 
     | 
    
         
            -
            this._prepBehaviors();
         
     | 
| 
       530 
     | 
    
         
            -
            this._prepExtends();
         
     | 
| 
       531 
     | 
    
         
            -
            this._prepConstructor();
         
     | 
| 
       532 
     | 
    
         
            -
            },
         
     | 
| 
       533 
     | 
    
         
            -
            _prepBehavior: function (b) {
         
     | 
| 
       534 
     | 
    
         
            -
            this._addHostAttributes(b.hostAttributes);
         
     | 
| 
       535 
     | 
    
         
            -
            },
         
     | 
| 
       536 
     | 
    
         
            -
            _marshalBehavior: function (b) {
         
     | 
| 
       537 
     | 
    
         
            -
            },
         
     | 
| 
       538 
     | 
    
         
            -
            _initFeatures: function () {
         
     | 
| 
       539 
     | 
    
         
            -
            this._marshalHostAttributes();
         
     | 
| 
       540 
     | 
    
         
            -
            this._setupDebouncers();
         
     | 
| 
       541 
     | 
    
         
            -
            this._marshalBehaviors();
         
     | 
| 
       542 
     | 
    
         
            -
            }
         
     | 
| 
       543 
     | 
    
         
            -
            });</script>
         
     | 
| 
       544 
     | 
    
         
            -
             
     | 
| 
       545 
     | 
    
         
            -
            == 'interactive' || document.readyState === 'complete') {
         
     | 
| 
       546 
     | 
    
         
            -
            resolve();
         
     | 
| 
       547 
     | 
    
         
            -
            } else {
         
     | 
| 
       548 
     | 
    
         
            -
            addEventListener('DOMContentLoaded', resolve);
         
     | 
| 
       549 
     | 
    
         
            -
            }
         
     | 
| 
       550 
     | 
    
         
            -
            }
         
     | 
| 
       551 
     | 
    
         
            -
            }());
         
     | 
| 
       552 
     | 
    
         
            -
            Polymer = {
         
     | 
| 
       553 
     | 
    
         
            -
            Settings: function () {
         
     | 
| 
       554 
     | 
    
         
            -
            var user = window.Polymer || {};
         
     | 
| 
       555 
     | 
    
         
            -
            location.search.slice(1).split('&').forEach(function (o) {
         
     | 
| 
       556 
     | 
    
         
            -
            o = o.split('=');
         
     | 
| 
       557 
     | 
    
         
            -
            o[0] && (user[o[0]] = o[1] || true);
         
     | 
| 
       558 
     | 
    
         
            -
            });
         
     | 
| 
       559 
     | 
    
         
            -
            var wantShadow = user.dom === 'shadow';
         
     | 
| 
       560 
     | 
    
         
            -
            var hasShadow = Boolean(Element.prototype.createShadowRoot);
         
     | 
| 
       561 
     | 
    
         
            -
            var nativeShadow = hasShadow && !window.ShadowDOMPolyfill;
         
     | 
| 
       562 
     | 
    
         
            -
            var useShadow = wantShadow && hasShadow;
         
     | 
| 
       563 
     | 
    
         
            -
            var hasNativeImports = Boolean('import' in document.createElement('link'));
         
     | 
| 
       564 
     | 
    
         
            -
            var useNativeImports = hasNativeImports;
         
     | 
| 
       565 
     | 
    
         
            -
            var useNativeCustomElements = !window.CustomElements || window.CustomElements.useNative;
         
     | 
| 
       566 
     | 
    
         
            -
            return {
         
     | 
| 
       567 
     | 
    
         
            -
            wantShadow: wantShadow,
         
     | 
| 
       568 
     | 
    
         
            -
            hasShadow: hasShadow,
         
     | 
| 
       569 
     | 
    
         
            -
            nativeShadow: nativeShadow,
         
     | 
| 
       570 
     | 
    
         
            -
            useShadow: useShadow,
         
     | 
| 
       571 
     | 
    
         
            -
            useNativeShadow: useShadow && nativeShadow,
         
     | 
| 
       572 
     | 
    
         
            -
            useNativeImports: useNativeImports,
         
     | 
| 
       573 
     | 
    
         
            -
            useNativeCustomElements: useNativeCustomElements
         
     | 
| 
       574 
     | 
    
         
            -
            };
         
     | 
| 
       575 
     | 
    
         
            -
            }()
         
     | 
| 
       576 
     | 
    
         
            -
            };
         
     | 
| 
       577 
     | 
    
         
            -
            (function () {
         
     | 
| 
       578 
     | 
    
         
            -
            var userPolymer = window.Polymer;
         
     | 
| 
       579 
     | 
    
         
            -
            window.Polymer = function (prototype) {
         
     | 
| 
       580 
     | 
    
         
            -
            var ctor = desugar(prototype);
         
     | 
| 
       581 
     | 
    
         
            -
            prototype = ctor.prototype;
         
     | 
| 
       582 
     | 
    
         
            -
            var options = { prototype: prototype };
         
     | 
| 
       583 
     | 
    
         
            -
            if (prototype.extends) {
         
     | 
| 
       584 
     | 
    
         
            -
            options.extends = prototype.extends;
         
     | 
| 
       585 
     | 
    
         
            -
            }
         
     | 
| 
       586 
     | 
    
         
            -
            Polymer.telemetry._registrate(prototype);
         
     | 
| 
       587 
     | 
    
         
            -
            document.registerElement(prototype.is, options);
         
     | 
| 
       588 
     | 
    
         
            -
            return ctor;
         
     | 
| 
       589 
     | 
    
         
            -
            };
         
     | 
| 
       590 
     | 
    
         
            -
            var desugar = function (prototype) {
         
     | 
| 
       591 
     | 
    
         
            -
            prototype = Polymer.Base.chainObject(prototype, Polymer.Base);
         
     | 
| 
       592 
     | 
    
         
            -
            prototype.registerCallback();
         
     | 
| 
       593 
     | 
    
         
            -
            return prototype.constructor;
         
     | 
| 
       594 
     | 
    
         
            -
            };
         
     | 
| 
       595 
     | 
    
         
            -
            window.Polymer = Polymer;
         
     | 
| 
       596 
     | 
    
         
            -
            if (userPolymer) {
         
     | 
| 
       597 
     | 
    
         
            -
            for (var i in userPolymer) {
         
     | 
| 
       598 
     | 
    
         
            -
            Polymer[i] = userPolymer[i];
         
     | 
| 
       599 
     | 
    
         
            -
            }
         
     | 
| 
       600 
     | 
    
         
            -
            }
         
     | 
| 
       601 
     | 
    
         
            -
            Polymer.Class = desugar;
         
     | 
| 
       602 
     | 
    
         
            -
            }());
         
     | 
| 
       603 
     | 
    
         
            -
            Polymer.telemetry = {
         
     | 
| 
       604 
     | 
    
         
            -
            registrations: [],
         
     | 
| 
       605 
     | 
    
         
            -
            _regLog: function (prototype) {
         
     | 
| 
       606 
     | 
    
         
            -
            console.log('[' + prototype.is + ']: registered');
         
     | 
| 
       607 
     | 
    
         
            -
            },
         
     | 
| 
       608 
     | 
    
         
            -
            _registrate: function (prototype) {
         
     | 
| 
       609 
     | 
    
         
            -
            this.registrations.push(prototype);
         
     | 
| 
       610 
     | 
    
         
            -
            Polymer.log && this._regLog(prototype);
         
     | 
| 
       611 
     | 
    
         
            -
            },
         
     | 
| 
       612 
     | 
    
         
            -
            dumpRegistrations: function () {
         
     | 
| 
       613 
     | 
    
         
            -
            this.registrations.forEach(this._regLog);
         
     | 
| 
       614 
     | 
    
         
            -
            }
         
     | 
| 
       615 
     | 
    
         
            -
            };
         
     | 
| 
       616 
     | 
    
         
            -
            Object.defineProperty(window, 'currentImport', {
         
     | 
| 
       617 
     | 
    
         
            -
            enumerable: true,
         
     | 
| 
       618 
     | 
    
         
            -
            configurable: true,
         
     | 
| 
       619 
     | 
    
         
            -
            get: function () {
         
     | 
| 
       620 
     | 
    
         
            -
            return (document._currentScript || document.currentScript).ownerDocument;
         
     | 
| 
       621 
     | 
    
         
            -
            }
         
     | 
| 
       622 
     | 
    
         
            -
            });
         
     | 
| 
       623 
     | 
    
         
            -
            Polymer.Base = {
         
     | 
| 
       624 
     | 
    
         
            -
            _addFeature: function (feature) {
         
     | 
| 
       625 
     | 
    
         
            -
            this.extend(this, feature);
         
     | 
| 
       626 
     | 
    
         
            -
            },
         
     | 
| 
       627 
     | 
    
         
            -
            registerCallback: function () {
         
     | 
| 
       628 
     | 
    
         
            -
            this._registerFeatures();
         
     | 
| 
       629 
     | 
    
         
            -
            this._doBehavior('registered');
         
     | 
| 
       630 
     | 
    
         
            -
            },
         
     | 
| 
       631 
     | 
    
         
            -
            createdCallback: function () {
         
     | 
| 
       632 
     | 
    
         
            -
            Polymer.telemetry.instanceCount++;
         
     | 
| 
       633 
     | 
    
         
            -
            this.root = this;
         
     | 
| 
       634 
     | 
    
         
            -
            this._doBehavior('created');
         
     | 
| 
       635 
     | 
    
         
            -
            this._initFeatures();
         
     | 
| 
       636 
     | 
    
         
            -
            },
         
     | 
| 
       637 
     | 
    
         
            -
            attachedCallback: function () {
         
     | 
| 
       638 
     | 
    
         
            -
            this.isAttached = true;
         
     | 
| 
       639 
     | 
    
         
            -
            this._doBehavior('attached');
         
     | 
| 
       640 
     | 
    
         
            -
            },
         
     | 
| 
       641 
     | 
    
         
            -
            detachedCallback: function () {
         
     | 
| 
       642 
     | 
    
         
            -
            this.isAttached = false;
         
     | 
| 
       643 
     | 
    
         
            -
            this._doBehavior('detached');
         
     | 
| 
       644 
     | 
    
         
            -
            },
         
     | 
| 
       645 
     | 
    
         
            -
            attributeChangedCallback: function (name) {
         
     | 
| 
       646 
     | 
    
         
            -
            this._setAttributeToProperty(this, name);
         
     | 
| 
       647 
     | 
    
         
            -
            this._doBehavior('attributeChanged', arguments);
         
     | 
| 
       648 
     | 
    
         
            -
            },
         
     | 
| 
       649 
     | 
    
         
            -
            extend: function (prototype, api) {
         
     | 
| 
       650 
     | 
    
         
            -
            if (prototype && api) {
         
     | 
| 
       651 
     | 
    
         
            -
            Object.getOwnPropertyNames(api).forEach(function (n) {
         
     | 
| 
       652 
     | 
    
         
            -
            this.copyOwnProperty(n, api, prototype);
         
     | 
| 
       653 
     | 
    
         
            -
            }, this);
         
     | 
| 
       654 
     | 
    
         
            -
            }
         
     | 
| 
       655 
     | 
    
         
            -
            return prototype || api;
         
     | 
| 
       656 
     | 
    
         
            -
            },
         
     | 
| 
       657 
     | 
    
         
            -
            mixin: function (target, source) {
         
     | 
| 
       658 
     | 
    
         
            -
            for (var i in source) {
         
     | 
| 
       659 
     | 
    
         
            -
            target[i] = source[i];
         
     | 
| 
       660 
     | 
    
         
            -
            }
         
     | 
| 
       661 
     | 
    
         
            -
            return target;
         
     | 
| 
       662 
     | 
    
         
            -
            },
         
     | 
| 
       663 
     | 
    
         
            -
            copyOwnProperty: function (name, source, target) {
         
     | 
| 
       664 
     | 
    
         
            -
            var pd = Object.getOwnPropertyDescriptor(source, name);
         
     | 
| 
       665 
     | 
    
         
            -
            if (pd) {
         
     | 
| 
       666 
     | 
    
         
            -
            Object.defineProperty(target, name, pd);
         
     | 
| 
       667 
     | 
    
         
            -
            }
         
     | 
| 
       668 
     | 
    
         
            -
            },
         
     | 
| 
       669 
     | 
    
         
            -
            _log: console.log.apply.bind(console.log, console),
         
     | 
| 
       670 
     | 
    
         
            -
            _warn: console.warn.apply.bind(console.warn, console),
         
     | 
| 
       671 
     | 
    
         
            -
            _error: console.error.apply.bind(console.error, console),
         
     | 
| 
       672 
     | 
    
         
            -
            _logf: function () {
         
     | 
| 
       673 
     | 
    
         
            -
            return this._logPrefix.concat([this.is]).concat(Array.prototype.slice.call(arguments, 0));
         
     | 
| 
       674 
     | 
    
         
            -
            }
         
     | 
| 
       675 
     | 
    
         
            -
            };
         
     | 
| 
       676 
     | 
    
         
            -
            Polymer.Base._logPrefix = function () {
         
     | 
| 
       677 
     | 
    
         
            -
            var color = window.chrome || /firefox/i.test(navigator.userAgent);
         
     | 
| 
       678 
     | 
    
         
            -
            return color ? [
         
     | 
| 
       679 
     | 
    
         
            -
            '%c[%s::%s]:',
         
     | 
| 
       680 
     | 
    
         
            -
            'font-weight: bold; background-color:#EEEE00;'
         
     | 
| 
       681 
     | 
    
         
            -
            ] : ['[%s::%s]:'];
         
     | 
| 
       682 
     | 
    
         
            -
            }();
         
     | 
| 
       683 
     | 
    
         
            -
            Polymer.Base.chainObject = function (object, inherited) {
         
     | 
| 
       684 
     | 
    
         
            -
            if (object && inherited && object !== inherited) {
         
     | 
| 
       685 
     | 
    
         
            -
            if (!Object.__proto__) {
         
     | 
| 
       686 
     | 
    
         
            -
            object = Polymer.Base.extend(Object.create(inherited), object);
         
     | 
| 
       687 
     | 
    
         
            -
            }
         
     | 
| 
       688 
     | 
    
         
            -
            object.__proto__ = inherited;
         
     | 
| 
       689 
     | 
    
         
            -
            }
         
     | 
| 
       690 
     | 
    
         
            -
            return object;
         
     | 
| 
       691 
     | 
    
         
            -
            };
         
     | 
| 
       692 
     | 
    
         
            -
            Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype);
         
     | 
| 
       693 
     | 
    
         
            -
            Polymer.telemetry.instanceCount = 0;
         
     | 
| 
       694 
     | 
    
         
            -
            (function () {
         
     | 
| 
       695 
     | 
    
         
            -
            var modules = {};
         
     | 
| 
       696 
     | 
    
         
            -
            var DomModule = function () {
         
     | 
| 
       697 
     | 
    
         
            -
            return document.createElement('dom-module');
         
     | 
| 
       698 
     | 
    
         
            -
            };
         
     | 
| 
       699 
     | 
    
         
            -
            DomModule.prototype = Object.create(HTMLElement.prototype);
         
     | 
| 
       700 
     | 
    
         
            -
            DomModule.prototype.constructor = DomModule;
         
     | 
| 
       701 
     | 
    
         
            -
            DomModule.prototype.createdCallback = function () {
         
     | 
| 
       702 
     | 
    
         
            -
            var id = this.id || this.getAttribute('name') || this.getAttribute('is');
         
     | 
| 
       703 
     | 
    
         
            -
            if (id) {
         
     | 
| 
       704 
     | 
    
         
            -
            this.id = id;
         
     | 
| 
       705 
     | 
    
         
            -
            modules[id] = this;
         
     | 
| 
       706 
     | 
    
         
            -
            }
         
     | 
| 
       707 
     | 
    
         
            -
            };
         
     | 
| 
       708 
     | 
    
         
            -
            DomModule.prototype.import = function (id, slctr) {
         
     | 
| 
       709 
     | 
    
         
            -
            var m = modules[id];
         
     | 
| 
       710 
     | 
    
         
            -
            if (!m) {
         
     | 
| 
       711 
     | 
    
         
            -
            forceDocumentUpgrade();
         
     | 
| 
       712 
     | 
    
         
            -
            m = modules[id];
         
     | 
| 
       713 
     | 
    
         
            -
            }
         
     | 
| 
       714 
     | 
    
         
            -
            if (m && slctr) {
         
     | 
| 
       715 
     | 
    
         
            -
            m = m.querySelector(slctr);
         
     | 
| 
       716 
     | 
    
         
            -
            }
         
     | 
| 
       717 
     | 
    
         
            -
            return m;
         
     | 
| 
       718 
     | 
    
         
            -
            };
         
     | 
| 
       719 
     | 
    
         
            -
            var cePolyfill = window.CustomElements && !CustomElements.useNative;
         
     | 
| 
       720 
     | 
    
         
            -
            if (cePolyfill) {
         
     | 
| 
       721 
     | 
    
         
            -
            var ready = CustomElements.ready;
         
     | 
| 
       722 
     | 
    
         
            -
            CustomElements.ready = true;
         
     | 
| 
       723 
     | 
    
         
            -
            }
         
     | 
| 
       724 
     | 
    
         
            -
            document.registerElement('dom-module', DomModule);
         
     | 
| 
       725 
     | 
    
         
            -
            if (cePolyfill) {
         
     | 
| 
       726 
     | 
    
         
            -
            CustomElements.ready = ready;
         
     | 
| 
       727 
     | 
    
         
            -
            }
         
     | 
| 
       728 
     | 
    
         
            -
            function forceDocumentUpgrade() {
         
     | 
| 
       729 
     | 
    
         
            -
            if (cePolyfill) {
         
     | 
| 
       730 
     | 
    
         
            -
            var script = document._currentScript || document.currentScript;
         
     | 
| 
       731 
     | 
    
         
            -
            if (script) {
         
     | 
| 
       732 
     | 
    
         
            -
            CustomElements.upgradeAll(script.ownerDocument);
         
     | 
| 
       733 
     | 
    
         
            -
            }
         
     | 
| 
       734 
     | 
    
         
            -
            }
         
     | 
| 
       735 
     | 
    
         
            -
            }
         
     | 
| 
       736 
     | 
    
         
            -
            }());
         
     | 
| 
       737 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       738 
     | 
    
         
            -
            _prepIs: function () {
         
     | 
| 
       739 
     | 
    
         
            -
            if (!this.is) {
         
     | 
| 
       740 
     | 
    
         
            -
            var module = (document._currentScript || document.currentScript).parentNode;
         
     | 
| 
       741 
     | 
    
         
            -
            if (module.localName === 'dom-module') {
         
     | 
| 
       742 
     | 
    
         
            -
            var id = module.id || module.getAttribute('name') || module.getAttribute('is');
         
     | 
| 
       743 
     | 
    
         
            -
            this.is = id;
         
     | 
| 
       744 
     | 
    
         
            -
            }
         
     | 
| 
       745 
     | 
    
         
            -
            }
         
     | 
| 
       746 
     | 
    
         
            -
            }
         
     | 
| 
       747 
     | 
    
         
            -
            });
         
     | 
| 
       748 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       749 
     | 
    
         
            -
            behaviors: [],
         
     | 
| 
       750 
     | 
    
         
            -
            _prepBehaviors: function () {
         
     | 
| 
       751 
     | 
    
         
            -
            if (this.behaviors.length) {
         
     | 
| 
       752 
     | 
    
         
            -
            this.behaviors = this._flattenBehaviorsList(this.behaviors);
         
     | 
| 
       753 
     | 
    
         
            -
            }
         
     | 
| 
       754 
     | 
    
         
            -
            this._prepAllBehaviors(this.behaviors);
         
     | 
| 
       755 
     | 
    
         
            -
            },
         
     | 
| 
       756 
     | 
    
         
            -
            _flattenBehaviorsList: function (behaviors) {
         
     | 
| 
       757 
     | 
    
         
            -
            var flat = [];
         
     | 
| 
       758 
     | 
    
         
            -
            behaviors.forEach(function (b) {
         
     | 
| 
       759 
     | 
    
         
            -
            if (b instanceof Array) {
         
     | 
| 
       760 
     | 
    
         
            -
            flat = flat.concat(this._flattenBehaviorsList(b));
         
     | 
| 
       761 
     | 
    
         
            -
            } else if (b) {
         
     | 
| 
       762 
     | 
    
         
            -
            flat.push(b);
         
     | 
| 
       763 
     | 
    
         
            -
            } else {
         
     | 
| 
       764 
     | 
    
         
            -
            this._warn(this._logf('_flattenBehaviorsList', 'behavior is null, check for missing or 404 import'));
         
     | 
| 
       765 
     | 
    
         
            -
            }
         
     | 
| 
       766 
     | 
    
         
            -
            }, this);
         
     | 
| 
       767 
     | 
    
         
            -
            return flat;
         
     | 
| 
       768 
     | 
    
         
            -
            },
         
     | 
| 
       769 
     | 
    
         
            -
            _prepAllBehaviors: function (behaviors) {
         
     | 
| 
       770 
     | 
    
         
            -
            for (var i = behaviors.length - 1; i >= 0; i--) {
         
     | 
| 
       771 
     | 
    
         
            -
            this._mixinBehavior(behaviors[i]);
         
     | 
| 
       772 
     | 
    
         
            -
            }
         
     | 
| 
       773 
     | 
    
         
            -
            for (var i = 0, l = behaviors.length; i < l; i++) {
         
     | 
| 
       774 
     | 
    
         
            -
            this._prepBehavior(behaviors[i]);
         
     | 
| 
       775 
     | 
    
         
            -
            }
         
     | 
| 
       776 
     | 
    
         
            -
            this._prepBehavior(this);
         
     | 
| 
       777 
     | 
    
         
            -
            },
         
     | 
| 
       778 
     | 
    
         
            -
            _mixinBehavior: function (b) {
         
     | 
| 
       779 
     | 
    
         
            -
            Object.getOwnPropertyNames(b).forEach(function (n) {
         
     | 
| 
       780 
     | 
    
         
            -
            switch (n) {
         
     | 
| 
       781 
     | 
    
         
            -
            case 'hostAttributes':
         
     | 
| 
       782 
     | 
    
         
            -
            case 'registered':
         
     | 
| 
       783 
     | 
    
         
            -
            case 'properties':
         
     | 
| 
       784 
     | 
    
         
            -
            case 'observers':
         
     | 
| 
       785 
     | 
    
         
            -
            case 'listeners':
         
     | 
| 
       786 
     | 
    
         
            -
            case 'created':
         
     | 
| 
       787 
     | 
    
         
            -
            case 'attached':
         
     | 
| 
       788 
     | 
    
         
            -
            case 'detached':
         
     | 
| 
       789 
     | 
    
         
            -
            case 'attributeChanged':
         
     | 
| 
       790 
     | 
    
         
            -
            case 'configure':
         
     | 
| 
       791 
     | 
    
         
            -
            case 'ready':
         
     | 
| 
       792 
     | 
    
         
            -
            break;
         
     | 
| 
       793 
     | 
    
         
            -
            default:
         
     | 
| 
       794 
     | 
    
         
            -
            if (!this.hasOwnProperty(n)) {
         
     | 
| 
       795 
     | 
    
         
            -
            this.copyOwnProperty(n, b, this);
         
     | 
| 
       796 
     | 
    
         
            -
            }
         
     | 
| 
       797 
     | 
    
         
            -
            break;
         
     | 
| 
       798 
     | 
    
         
            -
            }
         
     | 
| 
       799 
     | 
    
         
            -
            }, this);
         
     | 
| 
       800 
     | 
    
         
            -
            },
         
     | 
| 
       801 
     | 
    
         
            -
            _doBehavior: function (name, args) {
         
     | 
| 
       802 
     | 
    
         
            -
            this.behaviors.forEach(function (b) {
         
     | 
| 
       803 
     | 
    
         
            -
            this._invokeBehavior(b, name, args);
         
     | 
| 
       804 
     | 
    
         
            -
            }, this);
         
     | 
| 
       805 
     | 
    
         
            -
            this._invokeBehavior(this, name, args);
         
     | 
| 
       806 
     | 
    
         
            -
            },
         
     | 
| 
       807 
     | 
    
         
            -
            _invokeBehavior: function (b, name, args) {
         
     | 
| 
       808 
     | 
    
         
            -
            var fn = b[name];
         
     | 
| 
       809 
     | 
    
         
            -
            if (fn) {
         
     | 
| 
       810 
     | 
    
         
            -
            fn.apply(this, args || Polymer.nar);
         
     | 
| 
       811 
     | 
    
         
            -
            }
         
     | 
| 
       812 
     | 
    
         
            -
            },
         
     | 
| 
       813 
     | 
    
         
            -
            _marshalBehaviors: function () {
         
     | 
| 
       814 
     | 
    
         
            -
            this.behaviors.forEach(function (b) {
         
     | 
| 
       815 
     | 
    
         
            -
            this._marshalBehavior(b);
         
     | 
| 
       816 
     | 
    
         
            -
            }, this);
         
     | 
| 
       817 
     | 
    
         
            -
            this._marshalBehavior(this);
         
     | 
| 
       818 
     | 
    
         
            -
            }
         
     | 
| 
       819 
     | 
    
         
            -
            });
         
     | 
| 
       820 
     | 
    
         
            -
            Polymer.Base._addFeature({
         
     | 
| 
       821 
     | 
    
         
            -
            _prepExtends: function () {
         
     | 
| 
       822 
     | 
    
         
            -
            if (this.extends) {
         
     | 
| 
       823 
     | 
    
         
            -
            this.__proto__ = this._getExtendedPrototype(this.extends);
         
     | 
| 
       824 
     | 
    
         
            -
            }
         
     | 
| 
       825 
     | 
    
         
            -
            },
         
     | 
| 
       826 
307 
     | 
    
         
             
            _getExtendedPrototype: function (tag) {
         
     | 
| 
       827 
308 
     | 
    
         
             
            return this._getExtendedNativePrototype(tag);
         
     | 
| 
       828 
309 
     | 
    
         
             
            },
         
     | 
| 
         @@ -1035,13 +516,12 @@ debouncer.stop(); 
     | 
|
| 
       1035 
516 
     | 
    
         
             
            }
         
     | 
| 
       1036 
517 
     | 
    
         
             
            }
         
     | 
| 
       1037 
518 
     | 
    
         
             
            });
         
     | 
| 
       1038 
     | 
    
         
            -
            Polymer.version = '1.0. 
     | 
| 
      
 519 
     | 
    
         
            +
            Polymer.version = '1.0.7';
         
     | 
| 
       1039 
520 
     | 
    
         
             
            Polymer.Base._addFeature({
         
     | 
| 
       1040 
521 
     | 
    
         
             
            _registerFeatures: function () {
         
     | 
| 
       1041 
522 
     | 
    
         
             
            this._prepIs();
         
     | 
| 
       1042 
523 
     | 
    
         
             
            this._prepAttributes();
         
     | 
| 
       1043 
524 
     | 
    
         
             
            this._prepBehaviors();
         
     | 
| 
       1044 
     | 
    
         
            -
            this._prepExtends();
         
     | 
| 
       1045 
525 
     | 
    
         
             
            this._prepConstructor();
         
     | 
| 
       1046 
526 
     | 
    
         
             
            },
         
     | 
| 
       1047 
527 
     | 
    
         
             
            _prepBehavior: function (b) {
         
     | 
| 
         @@ -753,7 +753,7 @@ d.appendChild(nc); 
     | 
|
| 
       753 
753 
     | 
    
         
             
            return n;
         
     | 
| 
       754 
754 
     | 
    
         
             
            },
         
     | 
| 
       755 
755 
     | 
    
         
             
            importNode: function (externalNode, deep) {
         
     | 
| 
       756 
     | 
    
         
            -
            var doc = this.node instanceof  
     | 
| 
      
 756 
     | 
    
         
            +
            var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
         
     | 
| 
       757 
757 
     | 
    
         
             
            var n = nativeImportNode.call(doc, externalNode, false);
         
     | 
| 
       758 
758 
     | 
    
         
             
            if (deep) {
         
     | 
| 
       759 
759 
     | 
    
         
             
            var c$ = factory(externalNode).childNodes;
         
     | 
| 
         @@ -941,15 +941,15 @@ DomApi.prototype.cloneNode = function (deep) { 
     | 
|
| 
       941 
941 
     | 
    
         
             
            return this.node.cloneNode(deep);
         
     | 
| 
       942 
942 
     | 
    
         
             
            };
         
     | 
| 
       943 
943 
     | 
    
         
             
            DomApi.prototype.importNode = function (externalNode, deep) {
         
     | 
| 
       944 
     | 
    
         
            -
            var doc = this.node instanceof  
     | 
| 
      
 944 
     | 
    
         
            +
            var doc = this.node instanceof Document ? this.node : this.node.ownerDocument;
         
     | 
| 
       945 
945 
     | 
    
         
             
            return doc.importNode(externalNode, deep);
         
     | 
| 
       946 
946 
     | 
    
         
             
            };
         
     | 
| 
       947 
947 
     | 
    
         
             
            DomApi.prototype.getDestinationInsertionPoints = function () {
         
     | 
| 
       948 
     | 
    
         
            -
            var n$ = this.node.getDestinationInsertionPoints();
         
     | 
| 
      
 948 
     | 
    
         
            +
            var n$ = this.node.getDestinationInsertionPoints && this.node.getDestinationInsertionPoints();
         
     | 
| 
       949 
949 
     | 
    
         
             
            return n$ ? Array.prototype.slice.call(n$) : [];
         
     | 
| 
       950 
950 
     | 
    
         
             
            };
         
     | 
| 
       951 
951 
     | 
    
         
             
            DomApi.prototype.getDistributedNodes = function () {
         
     | 
| 
       952 
     | 
    
         
            -
            var n$ = this.node.getDistributedNodes();
         
     | 
| 
      
 952 
     | 
    
         
            +
            var n$ = this.node.getDistributedNodes && this.node.getDistributedNodes();
         
     | 
| 
       953 
953 
     | 
    
         
             
            return n$ ? Array.prototype.slice.call(n$) : [];
         
     | 
| 
       954 
954 
     | 
    
         
             
            };
         
     | 
| 
       955 
955 
     | 
    
         
             
            DomApi.prototype._distributeParent = function () {
         
     | 
| 
         @@ -1407,7 +1407,6 @@ _registerFeatures: function () { 
     | 
|
| 
       1407 
1407 
     | 
    
         
             
            this._prepIs();
         
     | 
| 
       1408 
1408 
     | 
    
         
             
            this._prepAttributes();
         
     | 
| 
       1409 
1409 
     | 
    
         
             
            this._prepBehaviors();
         
     | 
| 
       1410 
     | 
    
         
            -
            this._prepExtends();
         
     | 
| 
       1411 
1410 
     | 
    
         
             
            this._prepConstructor();
         
     | 
| 
       1412 
1411 
     | 
    
         
             
            this._prepTemplate();
         
     | 
| 
       1413 
1412 
     | 
    
         
             
            this._prepShady();
         
     | 
| 
         @@ -75,6 +75,14 @@ for (var i = 0, node = root.firstChild; node; node = node.nextSibling, i++) { 
     | 
|
| 
       75 
75 
     | 
    
         
             
            if (node.localName === 'template' && !node.hasAttribute('preserve-content')) {
         
     | 
| 
       76 
76 
     | 
    
         
             
            this._parseTemplate(node, i, list, annote);
         
     | 
| 
       77 
77 
     | 
    
         
             
            }
         
     | 
| 
      
 78 
     | 
    
         
            +
            if (node.nodeType === Node.TEXT_NODE) {
         
     | 
| 
      
 79 
     | 
    
         
            +
            var n = node.nextSibling;
         
     | 
| 
      
 80 
     | 
    
         
            +
            while (n && n.nodeType === Node.TEXT_NODE) {
         
     | 
| 
      
 81 
     | 
    
         
            +
            node.textContent += n.textContent;
         
     | 
| 
      
 82 
     | 
    
         
            +
            root.removeChild(n);
         
     | 
| 
      
 83 
     | 
    
         
            +
            n = n.nextSibling;
         
     | 
| 
      
 84 
     | 
    
         
            +
            }
         
     | 
| 
      
 85 
     | 
    
         
            +
            }
         
     | 
| 
       78 
86 
     | 
    
         
             
            var childAnnotation = this._parseNodeAnnotations(node, list, callback);
         
     | 
| 
       79 
87 
     | 
    
         
             
            if (childAnnotation) {
         
     | 
| 
       80 
88 
     | 
    
         
             
            childAnnotation.parent = annote;
         
     | 
| 
         @@ -1041,7 +1049,8 @@ Polymer.dom(toElement).setAttribute(name, ''); 
     | 
|
| 
       1041 
1049 
     | 
    
         
             
            }
         
     | 
| 
       1042 
1050 
     | 
    
         
             
            },
         
     | 
| 
       1043 
1051 
     | 
    
         
             
            getContentChildNodes: function (slctr) {
         
     | 
| 
       1044 
     | 
    
         
            -
             
     | 
| 
      
 1052 
     | 
    
         
            +
            var content = Polymer.dom(this.root).querySelector(slctr || 'content');
         
     | 
| 
      
 1053 
     | 
    
         
            +
            return content ? Polymer.dom(content).getDistributedNodes() : [];
         
     | 
| 
       1045 
1054 
     | 
    
         
             
            },
         
     | 
| 
       1046 
1055 
     | 
    
         
             
            getContentChildren: function (slctr) {
         
     | 
| 
       1047 
1056 
     | 
    
         
             
            return this.getContentChildNodes(slctr).filter(function (n) {
         
     | 
| 
         @@ -2045,9 +2054,11 @@ this.forEachStyleRule(rules, callback); 
     | 
|
| 
       2045 
2054 
     | 
    
         
             
            return this.parser.stringify(rules, preserveProperties);
         
     | 
| 
       2046 
2055 
     | 
    
         
             
            },
         
     | 
| 
       2047 
2056 
     | 
    
         
             
            forRulesInStyles: function (styles, callback) {
         
     | 
| 
      
 2057 
     | 
    
         
            +
            if (styles) {
         
     | 
| 
       2048 
2058 
     | 
    
         
             
            for (var i = 0, l = styles.length, s; i < l && (s = styles[i]); i++) {
         
     | 
| 
       2049 
2059 
     | 
    
         
             
            this.forEachStyleRule(this.rulesForStyle(s), callback);
         
     | 
| 
       2050 
2060 
     | 
    
         
             
            }
         
     | 
| 
      
 2061 
     | 
    
         
            +
            }
         
     | 
| 
       2051 
2062 
     | 
    
         
             
            },
         
     | 
| 
       2052 
2063 
     | 
    
         
             
            rulesForStyle: function (style) {
         
     | 
| 
       2053 
2064 
     | 
    
         
             
            if (!style.__cssRules && style.textContent) {
         
     | 
| 
         @@ -2826,8 +2837,18 @@ if (!this._scopeSelector && this._needsStyleProperties()) { 
     | 
|
| 
       2826 
2837 
     | 
    
         
             
            this._updateStyleProperties();
         
     | 
| 
       2827 
2838 
     | 
    
         
             
            }
         
     | 
| 
       2828 
2839 
     | 
    
         
             
            },
         
     | 
| 
      
 2840 
     | 
    
         
            +
            _findStyleHost: function () {
         
     | 
| 
      
 2841 
     | 
    
         
            +
            var e = this, root;
         
     | 
| 
      
 2842 
     | 
    
         
            +
            while (root = Polymer.dom(e).getOwnerRoot()) {
         
     | 
| 
      
 2843 
     | 
    
         
            +
            if (Polymer.isInstance(root.host)) {
         
     | 
| 
      
 2844 
     | 
    
         
            +
            return root.host;
         
     | 
| 
      
 2845 
     | 
    
         
            +
            }
         
     | 
| 
      
 2846 
     | 
    
         
            +
            e = root.host;
         
     | 
| 
      
 2847 
     | 
    
         
            +
            }
         
     | 
| 
      
 2848 
     | 
    
         
            +
            return styleDefaults;
         
     | 
| 
      
 2849 
     | 
    
         
            +
            },
         
     | 
| 
       2829 
2850 
     | 
    
         
             
            _updateStyleProperties: function () {
         
     | 
| 
       2830 
     | 
    
         
            -
            var info, scope = this. 
     | 
| 
      
 2851 
     | 
    
         
            +
            var info, scope = this._findStyleHost();
         
     | 
| 
       2831 
2852 
     | 
    
         
             
            if (!scope._styleCache) {
         
     | 
| 
       2832 
2853 
     | 
    
         
             
            scope._styleCache = new Polymer.StyleCache();
         
     | 
| 
       2833 
2854 
     | 
    
         
             
            }
         
     | 
| 
         @@ -2862,7 +2883,7 @@ styleCache.store(this.is, Object.create(info), this._ownStyleProperties, this._s 
     | 
|
| 
       2862 
2883 
     | 
    
         
             
            }
         
     | 
| 
       2863 
2884 
     | 
    
         
             
            },
         
     | 
| 
       2864 
2885 
     | 
    
         
             
            _computeStyleProperties: function (scopeProps) {
         
     | 
| 
       2865 
     | 
    
         
            -
            var scope = this. 
     | 
| 
      
 2886 
     | 
    
         
            +
            var scope = this._findStyleHost();
         
     | 
| 
       2866 
2887 
     | 
    
         
             
            if (!scope._styleProperties) {
         
     | 
| 
       2867 
2888 
     | 
    
         
             
            scope._computeStyleProperties();
         
     | 
| 
       2868 
2889 
     | 
    
         
             
            }
         
     | 
| 
         @@ -2895,7 +2916,7 @@ return style; 
     | 
|
| 
       2895 
2916 
     | 
    
         
             
            },
         
     | 
| 
       2896 
2917 
     | 
    
         
             
            serializeValueToAttribute: function (value, attribute, node) {
         
     | 
| 
       2897 
2918 
     | 
    
         
             
            node = node || this;
         
     | 
| 
       2898 
     | 
    
         
            -
            if (attribute === 'class') {
         
     | 
| 
      
 2919 
     | 
    
         
            +
            if (attribute === 'class' && !nativeShadow) {
         
     | 
| 
       2899 
2920 
     | 
    
         
             
            var host = node === this ? this.domHost || this.dataHost : this;
         
     | 
| 
       2900 
2921 
     | 
    
         
             
            if (host) {
         
     | 
| 
       2901 
2922 
     | 
    
         
             
            value = host._scopeElementClass(node, value);
         
     | 
| 
         @@ -2951,7 +2972,6 @@ Polymer.Base._addFeature({ 
     | 
|
| 
       2951 
2972 
     | 
    
         
             
            _registerFeatures: function () {
         
     | 
| 
       2952 
2973 
     | 
    
         
             
            this._prepIs();
         
     | 
| 
       2953 
2974 
     | 
    
         
             
            this._prepAttributes();
         
     | 
| 
       2954 
     | 
    
         
            -
            this._prepExtends();
         
     | 
| 
       2955 
2975 
     | 
    
         
             
            this._prepConstructor();
         
     | 
| 
       2956 
2976 
     | 
    
         
             
            this._prepTemplate();
         
     | 
| 
       2957 
2977 
     | 
    
         
             
            this._prepStyles();
         
     | 
| 
         @@ -3421,19 +3441,18 @@ delay: Number 
     | 
|
| 
       3421 
3441 
     | 
    
         
             
            },
         
     | 
| 
       3422 
3442 
     | 
    
         
             
            behaviors: [Polymer.Templatizer],
         
     | 
| 
       3423 
3443 
     | 
    
         
             
            observers: ['_itemsChanged(items.*)'],
         
     | 
| 
      
 3444 
     | 
    
         
            +
            created: function () {
         
     | 
| 
      
 3445 
     | 
    
         
            +
            this._instances = [];
         
     | 
| 
      
 3446 
     | 
    
         
            +
            },
         
     | 
| 
       3424 
3447 
     | 
    
         
             
            detached: function () {
         
     | 
| 
       3425 
     | 
    
         
            -
             
     | 
| 
       3426 
     | 
    
         
            -
            for (var i = 0; i < this.rows.length; i++) {
         
     | 
| 
      
 3448 
     | 
    
         
            +
            for (var i = 0; i < this._instances.length; i++) {
         
     | 
| 
       3427 
3449 
     | 
    
         
             
            this._detachRow(i);
         
     | 
| 
       3428 
3450 
     | 
    
         
             
            }
         
     | 
| 
       3429 
     | 
    
         
            -
            }
         
     | 
| 
       3430 
3451 
     | 
    
         
             
            },
         
     | 
| 
       3431 
3452 
     | 
    
         
             
            attached: function () {
         
     | 
| 
       3432 
     | 
    
         
            -
            if (this.rows) {
         
     | 
| 
       3433 
3453 
     | 
    
         
             
            var parentNode = Polymer.dom(this).parentNode;
         
     | 
| 
       3434 
     | 
    
         
            -
            for (var i = 0; i < this. 
     | 
| 
       3435 
     | 
    
         
            -
            Polymer.dom(parentNode).insertBefore(this. 
     | 
| 
       3436 
     | 
    
         
            -
            }
         
     | 
| 
      
 3454 
     | 
    
         
            +
            for (var i = 0; i < this._instances.length; i++) {
         
     | 
| 
      
 3455 
     | 
    
         
            +
            Polymer.dom(parentNode).insertBefore(this._instances[i].root, this);
         
     | 
| 
       3437 
3456 
     | 
    
         
             
            }
         
     | 
| 
       3438 
3457 
     | 
    
         
             
            },
         
     | 
| 
       3439 
3458 
     | 
    
         
             
            ready: function () {
         
     | 
| 
         @@ -3450,7 +3469,7 @@ var sort = this.sort; 
     | 
|
| 
       3450 
3469 
     | 
    
         
             
            this._sortFn = sort && (typeof sort == 'function' ? sort : function () {
         
     | 
| 
       3451 
3470 
     | 
    
         
             
            return dataHost[sort].apply(dataHost, arguments);
         
     | 
| 
       3452 
3471 
     | 
    
         
             
            });
         
     | 
| 
       3453 
     | 
    
         
            -
            this. 
     | 
| 
      
 3472 
     | 
    
         
            +
            this._needFullRefresh = true;
         
     | 
| 
       3454 
3473 
     | 
    
         
             
            if (this.items) {
         
     | 
| 
       3455 
3474 
     | 
    
         
             
            this._debounceTemplate(this._render);
         
     | 
| 
       3456 
3475 
     | 
    
         
             
            }
         
     | 
| 
         @@ -3461,7 +3480,7 @@ var filter = this.filter; 
     | 
|
| 
       3461 
3480 
     | 
    
         
             
            this._filterFn = filter && (typeof filter == 'function' ? filter : function () {
         
     | 
| 
       3462 
3481 
     | 
    
         
             
            return dataHost[filter].apply(dataHost, arguments);
         
     | 
| 
       3463 
3482 
     | 
    
         
             
            });
         
     | 
| 
       3464 
     | 
    
         
            -
            this. 
     | 
| 
      
 3483 
     | 
    
         
            +
            this._needFullRefresh = true;
         
     | 
| 
       3465 
3484 
     | 
    
         
             
            if (this.items) {
         
     | 
| 
       3466 
3485 
     | 
    
         
             
            this._debounceTemplate(this._render);
         
     | 
| 
       3467 
3486 
     | 
    
         
             
            }
         
     | 
| 
         @@ -3479,7 +3498,7 @@ this.collection = null; 
     | 
|
| 
       3479 
3498 
     | 
    
         
             
            this._error(this._logf('dom-repeat', 'expected array for `items`,' + ' found', this.items));
         
     | 
| 
       3480 
3499 
     | 
    
         
             
            }
         
     | 
| 
       3481 
3500 
     | 
    
         
             
            this._splices = [];
         
     | 
| 
       3482 
     | 
    
         
            -
            this. 
     | 
| 
      
 3501 
     | 
    
         
            +
            this._needFullRefresh = true;
         
     | 
| 
       3483 
3502 
     | 
    
         
             
            this._debounceTemplate(this._render);
         
     | 
| 
       3484 
3503 
     | 
    
         
             
            } else if (change.path == 'items.splices') {
         
     | 
| 
       3485 
3504 
     | 
    
         
             
            this._splices = this._splices.concat(change.value.keySplices);
         
     | 
| 
         @@ -3496,7 +3515,7 @@ path = path.substring(path.indexOf('.') + 1); 
     | 
|
| 
       3496 
3515 
     | 
    
         
             
            var paths = this._observePaths;
         
     | 
| 
       3497 
3516 
     | 
    
         
             
            for (var i = 0; i < paths.length; i++) {
         
     | 
| 
       3498 
3517 
     | 
    
         
             
            if (path.indexOf(paths[i]) === 0) {
         
     | 
| 
       3499 
     | 
    
         
            -
            this. 
     | 
| 
      
 3518 
     | 
    
         
            +
            this._needFullRefresh = true;
         
     | 
| 
       3500 
3519 
     | 
    
         
             
            if (this.delay) {
         
     | 
| 
       3501 
3520 
     | 
    
         
             
            this.debounce('render', this._render, this.delay);
         
     | 
| 
       3502 
3521 
     | 
    
         
             
            } else {
         
     | 
| 
         @@ -3508,102 +3527,111 @@ return; 
     | 
|
| 
       3508 
3527 
     | 
    
         
             
            }
         
     | 
| 
       3509 
3528 
     | 
    
         
             
            },
         
     | 
| 
       3510 
3529 
     | 
    
         
             
            render: function () {
         
     | 
| 
       3511 
     | 
    
         
            -
            this. 
     | 
| 
      
 3530 
     | 
    
         
            +
            this._needFullRefresh = true;
         
     | 
| 
       3512 
3531 
     | 
    
         
             
            this._debounceTemplate(this._render);
         
     | 
| 
       3513 
3532 
     | 
    
         
             
            this._flushTemplates();
         
     | 
| 
       3514 
3533 
     | 
    
         
             
            },
         
     | 
| 
       3515 
3534 
     | 
    
         
             
            _render: function () {
         
     | 
| 
       3516 
3535 
     | 
    
         
             
            var c = this.collection;
         
     | 
| 
       3517 
     | 
    
         
            -
            if ( 
     | 
| 
      
 3536 
     | 
    
         
            +
            if (this._needFullRefresh) {
         
     | 
| 
      
 3537 
     | 
    
         
            +
            this._applyFullRefresh();
         
     | 
| 
      
 3538 
     | 
    
         
            +
            this._needFullRefresh = false;
         
     | 
| 
      
 3539 
     | 
    
         
            +
            } else {
         
     | 
| 
       3518 
3540 
     | 
    
         
             
            if (this._sortFn) {
         
     | 
| 
       3519 
     | 
    
         
            -
            this. 
     | 
| 
      
 3541 
     | 
    
         
            +
            this._applySplicesUserSort(this._splices);
         
     | 
| 
       3520 
3542 
     | 
    
         
             
            } else {
         
     | 
| 
       3521 
3543 
     | 
    
         
             
            if (this._filterFn) {
         
     | 
| 
       3522 
     | 
    
         
            -
            this. 
     | 
| 
      
 3544 
     | 
    
         
            +
            this._applyFullRefresh();
         
     | 
| 
       3523 
3545 
     | 
    
         
             
            } else {
         
     | 
| 
       3524 
     | 
    
         
            -
            this. 
     | 
| 
       3525 
     | 
    
         
            -
            }
         
     | 
| 
      
 3546 
     | 
    
         
            +
            this._applySplicesArrayOrder(this._splices);
         
     | 
| 
       3526 
3547 
     | 
    
         
             
            }
         
     | 
| 
       3527 
3548 
     | 
    
         
             
            }
         
     | 
| 
       3528 
     | 
    
         
            -
            if (this._fullRefresh) {
         
     | 
| 
       3529 
     | 
    
         
            -
            this._sortAndFilter();
         
     | 
| 
       3530 
     | 
    
         
            -
            this._fullRefresh = false;
         
     | 
| 
       3531 
3549 
     | 
    
         
             
            }
         
     | 
| 
       3532 
3550 
     | 
    
         
             
            this._splices = [];
         
     | 
| 
       3533 
     | 
    
         
            -
            var  
     | 
| 
       3534 
     | 
    
         
            -
            var  
     | 
| 
       3535 
     | 
    
         
            -
             
     | 
| 
       3536 
     | 
    
         
            -
             
     | 
| 
       3537 
     | 
    
         
            -
             
     | 
| 
       3538 
     | 
    
         
            -
            var item = c.getItem(key);
         
     | 
| 
       3539 
     | 
    
         
            -
            var row = this.rows[i];
         
     | 
| 
       3540 
     | 
    
         
            -
            rowForKey[key] = i;
         
     | 
| 
       3541 
     | 
    
         
            -
            if (!row) {
         
     | 
| 
       3542 
     | 
    
         
            -
            this.rows.push(row = this._insertRow(i, null, item));
         
     | 
| 
      
 3551 
     | 
    
         
            +
            var keyToIdx = this._keyToInstIdx = {};
         
     | 
| 
      
 3552 
     | 
    
         
            +
            for (var i = 0; i < this._instances.length; i++) {
         
     | 
| 
      
 3553 
     | 
    
         
            +
            var inst = this._instances[i];
         
     | 
| 
      
 3554 
     | 
    
         
            +
            keyToIdx[inst.__key__] = i;
         
     | 
| 
      
 3555 
     | 
    
         
            +
            inst.__setProperty(this.indexAs, i, true);
         
     | 
| 
       3543 
3556 
     | 
    
         
             
            }
         
     | 
| 
       3544 
     | 
    
         
            -
            row.__setProperty(this.as, item, true);
         
     | 
| 
       3545 
     | 
    
         
            -
            row.__setProperty('__key__', key, true);
         
     | 
| 
       3546 
     | 
    
         
            -
            row.__setProperty(this.indexAs, i, true);
         
     | 
| 
       3547 
     | 
    
         
            -
            }
         
     | 
| 
       3548 
     | 
    
         
            -
            for (; i < this.rows.length; i++) {
         
     | 
| 
       3549 
     | 
    
         
            -
            this._detachRow(i);
         
     | 
| 
       3550 
     | 
    
         
            -
            }
         
     | 
| 
       3551 
     | 
    
         
            -
            this.rows.splice(keys.length, this.rows.length - keys.length);
         
     | 
| 
       3552 
3557 
     | 
    
         
             
            this.fire('dom-change');
         
     | 
| 
       3553 
3558 
     | 
    
         
             
            },
         
     | 
| 
       3554 
     | 
    
         
            -
             
     | 
| 
      
 3559 
     | 
    
         
            +
            _applyFullRefresh: function () {
         
     | 
| 
       3555 
3560 
     | 
    
         
             
            var c = this.collection;
         
     | 
| 
       3556 
     | 
    
         
            -
             
     | 
| 
       3557 
     | 
    
         
            -
            this. 
     | 
| 
      
 3561 
     | 
    
         
            +
            var keys;
         
     | 
| 
      
 3562 
     | 
    
         
            +
            if (this._sortFn) {
         
     | 
| 
      
 3563 
     | 
    
         
            +
            keys = c ? c.getKeys() : [];
         
     | 
| 
      
 3564 
     | 
    
         
            +
            } else {
         
     | 
| 
      
 3565 
     | 
    
         
            +
            keys = [];
         
     | 
| 
       3558 
3566 
     | 
    
         
             
            var items = this.items;
         
     | 
| 
       3559 
3567 
     | 
    
         
             
            if (items) {
         
     | 
| 
       3560 
3568 
     | 
    
         
             
            for (var i = 0; i < items.length; i++) {
         
     | 
| 
       3561 
     | 
    
         
            -
             
     | 
| 
      
 3569 
     | 
    
         
            +
            keys.push(c.getKey(items[i]));
         
     | 
| 
       3562 
3570 
     | 
    
         
             
            }
         
     | 
| 
       3563 
3571 
     | 
    
         
             
            }
         
     | 
| 
       3564 
     | 
    
         
            -
            } else {
         
     | 
| 
       3565 
     | 
    
         
            -
            this._orderedKeys = c ? c.getKeys() : [];
         
     | 
| 
       3566 
3572 
     | 
    
         
             
            }
         
     | 
| 
       3567 
3573 
     | 
    
         
             
            if (this._filterFn) {
         
     | 
| 
       3568 
     | 
    
         
            -
             
     | 
| 
      
 3574 
     | 
    
         
            +
            keys = keys.filter(function (a) {
         
     | 
| 
       3569 
3575 
     | 
    
         
             
            return this._filterFn(c.getItem(a));
         
     | 
| 
       3570 
3576 
     | 
    
         
             
            }, this);
         
     | 
| 
       3571 
3577 
     | 
    
         
             
            }
         
     | 
| 
       3572 
3578 
     | 
    
         
             
            if (this._sortFn) {
         
     | 
| 
       3573 
     | 
    
         
            -
             
     | 
| 
      
 3579 
     | 
    
         
            +
            keys.sort(function (a, b) {
         
     | 
| 
       3574 
3580 
     | 
    
         
             
            return this._sortFn(c.getItem(a), c.getItem(b));
         
     | 
| 
       3575 
3581 
     | 
    
         
             
            }.bind(this));
         
     | 
| 
       3576 
3582 
     | 
    
         
             
            }
         
     | 
| 
      
 3583 
     | 
    
         
            +
            for (var i = 0; i < keys.length; i++) {
         
     | 
| 
      
 3584 
     | 
    
         
            +
            var key = keys[i];
         
     | 
| 
      
 3585 
     | 
    
         
            +
            var inst = this._instances[i];
         
     | 
| 
      
 3586 
     | 
    
         
            +
            if (inst) {
         
     | 
| 
      
 3587 
     | 
    
         
            +
            inst.__setProperty('__key__', key, true);
         
     | 
| 
      
 3588 
     | 
    
         
            +
            inst.__setProperty(this.as, c.getItem(key), true);
         
     | 
| 
      
 3589 
     | 
    
         
            +
            } else {
         
     | 
| 
      
 3590 
     | 
    
         
            +
            this._instances.push(this._insertRow(i, key));
         
     | 
| 
      
 3591 
     | 
    
         
            +
            }
         
     | 
| 
      
 3592 
     | 
    
         
            +
            }
         
     | 
| 
      
 3593 
     | 
    
         
            +
            for (; i < this._instances.length; i++) {
         
     | 
| 
      
 3594 
     | 
    
         
            +
            this._detachRow(i);
         
     | 
| 
      
 3595 
     | 
    
         
            +
            }
         
     | 
| 
      
 3596 
     | 
    
         
            +
            this._instances.splice(keys.length, this._instances.length - keys.length);
         
     | 
| 
       3577 
3597 
     | 
    
         
             
            },
         
     | 
| 
       3578 
3598 
     | 
    
         
             
            _keySort: function (a, b) {
         
     | 
| 
       3579 
3599 
     | 
    
         
             
            return this.collection.getKey(a) - this.collection.getKey(b);
         
     | 
| 
       3580 
3600 
     | 
    
         
             
            },
         
     | 
| 
       3581 
     | 
    
         
            -
             
     | 
| 
      
 3601 
     | 
    
         
            +
            _applySplicesUserSort: function (splices) {
         
     | 
| 
       3582 
3602 
     | 
    
         
             
            var c = this.collection;
         
     | 
| 
       3583 
     | 
    
         
            -
            var  
     | 
| 
       3584 
     | 
    
         
            -
            var  
     | 
| 
       3585 
     | 
    
         
            -
            var removedRows = [];
         
     | 
| 
       3586 
     | 
    
         
            -
            var addedKeys = [];
         
     | 
| 
      
 3603 
     | 
    
         
            +
            var instances = this._instances;
         
     | 
| 
      
 3604 
     | 
    
         
            +
            var keyMap = {};
         
     | 
| 
       3587 
3605 
     | 
    
         
             
            var pool = [];
         
     | 
| 
       3588 
3606 
     | 
    
         
             
            var sortFn = this._sortFn || this._keySort.bind(this);
         
     | 
| 
       3589 
3607 
     | 
    
         
             
            splices.forEach(function (s) {
         
     | 
| 
       3590 
3608 
     | 
    
         
             
            for (var i = 0; i < s.removed.length; i++) {
         
     | 
| 
       3591 
     | 
    
         
            -
            var  
     | 
| 
       3592 
     | 
    
         
            -
             
     | 
| 
       3593 
     | 
    
         
            -
            removedRows.push(idx);
         
     | 
| 
       3594 
     | 
    
         
            -
            }
         
     | 
| 
      
 3609 
     | 
    
         
            +
            var key = s.removed[i];
         
     | 
| 
      
 3610 
     | 
    
         
            +
            keyMap[key] = keyMap[key] ? null : -1;
         
     | 
| 
       3595 
3611 
     | 
    
         
             
            }
         
     | 
| 
       3596 
3612 
     | 
    
         
             
            for (var i = 0; i < s.added.length; i++) {
         
     | 
| 
       3597 
     | 
    
         
            -
             
     | 
| 
      
 3613 
     | 
    
         
            +
            var key = s.added[i];
         
     | 
| 
      
 3614 
     | 
    
         
            +
            keyMap[key] = keyMap[key] ? null : 1;
         
     | 
| 
       3598 
3615 
     | 
    
         
             
            }
         
     | 
| 
       3599 
3616 
     | 
    
         
             
            }, this);
         
     | 
| 
       3600 
     | 
    
         
            -
             
     | 
| 
       3601 
     | 
    
         
            -
             
     | 
| 
       3602 
     | 
    
         
            -
            for (var  
     | 
| 
       3603 
     | 
    
         
            -
             
     | 
| 
      
 3617 
     | 
    
         
            +
            var removedIdxs = [];
         
     | 
| 
      
 3618 
     | 
    
         
            +
            var addedKeys = [];
         
     | 
| 
      
 3619 
     | 
    
         
            +
            for (var key in keyMap) {
         
     | 
| 
      
 3620 
     | 
    
         
            +
            if (keyMap[key] === -1) {
         
     | 
| 
      
 3621 
     | 
    
         
            +
            removedIdxs.push(this._keyToInstIdx[key]);
         
     | 
| 
      
 3622 
     | 
    
         
            +
            }
         
     | 
| 
      
 3623 
     | 
    
         
            +
            if (keyMap[key] === 1) {
         
     | 
| 
      
 3624 
     | 
    
         
            +
            addedKeys.push(key);
         
     | 
| 
      
 3625 
     | 
    
         
            +
            }
         
     | 
| 
      
 3626 
     | 
    
         
            +
            }
         
     | 
| 
      
 3627 
     | 
    
         
            +
            if (removedIdxs.length) {
         
     | 
| 
      
 3628 
     | 
    
         
            +
            removedIdxs.sort();
         
     | 
| 
      
 3629 
     | 
    
         
            +
            for (var i = removedIdxs.length - 1; i >= 0; i--) {
         
     | 
| 
      
 3630 
     | 
    
         
            +
            var idx = removedIdxs[i];
         
     | 
| 
      
 3631 
     | 
    
         
            +
            if (idx !== undefined) {
         
     | 
| 
       3604 
3632 
     | 
    
         
             
            pool.push(this._detachRow(idx));
         
     | 
| 
       3605 
     | 
    
         
            -
             
     | 
| 
       3606 
     | 
    
         
            -
             
     | 
| 
      
 3633 
     | 
    
         
            +
            instances.splice(idx, 1);
         
     | 
| 
      
 3634 
     | 
    
         
            +
            }
         
     | 
| 
       3607 
3635 
     | 
    
         
             
            }
         
     | 
| 
       3608 
3636 
     | 
    
         
             
            }
         
     | 
| 
       3609 
3637 
     | 
    
         
             
            if (addedKeys.length) {
         
     | 
| 
         @@ -3617,19 +3645,19 @@ return this._sortFn(c.getItem(a), c.getItem(b)); 
     | 
|
| 
       3617 
3645 
     | 
    
         
             
            }.bind(this));
         
     | 
| 
       3618 
3646 
     | 
    
         
             
            var start = 0;
         
     | 
| 
       3619 
3647 
     | 
    
         
             
            for (var i = 0; i < addedKeys.length; i++) {
         
     | 
| 
       3620 
     | 
    
         
            -
            start = this. 
     | 
| 
      
 3648 
     | 
    
         
            +
            start = this._insertRowUserSort(start, addedKeys[i], pool);
         
     | 
| 
       3621 
3649 
     | 
    
         
             
            }
         
     | 
| 
       3622 
3650 
     | 
    
         
             
            }
         
     | 
| 
       3623 
3651 
     | 
    
         
             
            },
         
     | 
| 
       3624 
     | 
    
         
            -
             
     | 
| 
      
 3652 
     | 
    
         
            +
            _insertRowUserSort: function (start, key, pool) {
         
     | 
| 
       3625 
3653 
     | 
    
         
             
            var c = this.collection;
         
     | 
| 
       3626 
3654 
     | 
    
         
             
            var item = c.getItem(key);
         
     | 
| 
       3627 
     | 
    
         
            -
            var end = this. 
     | 
| 
      
 3655 
     | 
    
         
            +
            var end = this._instances.length - 1;
         
     | 
| 
       3628 
3656 
     | 
    
         
             
            var idx = -1;
         
     | 
| 
       3629 
3657 
     | 
    
         
             
            var sortFn = this._sortFn || this._keySort.bind(this);
         
     | 
| 
       3630 
3658 
     | 
    
         
             
            while (start <= end) {
         
     | 
| 
       3631 
3659 
     | 
    
         
             
            var mid = start + end >> 1;
         
     | 
| 
       3632 
     | 
    
         
            -
            var midKey = this. 
     | 
| 
      
 3660 
     | 
    
         
            +
            var midKey = this._instances[mid].__key__;
         
     | 
| 
       3633 
3661 
     | 
    
         
             
            var cmp = sortFn(c.getItem(midKey), item);
         
     | 
| 
       3634 
3662 
     | 
    
         
             
            if (cmp < 0) {
         
     | 
| 
       3635 
3663 
     | 
    
         
             
            start = mid + 1;
         
     | 
| 
         @@ -3643,106 +3671,110 @@ break; 
     | 
|
| 
       3643 
3671 
     | 
    
         
             
            if (idx < 0) {
         
     | 
| 
       3644 
3672 
     | 
    
         
             
            idx = end + 1;
         
     | 
| 
       3645 
3673 
     | 
    
         
             
            }
         
     | 
| 
       3646 
     | 
    
         
            -
            this. 
     | 
| 
       3647 
     | 
    
         
            -
            this.rows.splice(idx, 0, this._insertRow(idx, pool, c.getItem(key)));
         
     | 
| 
      
 3674 
     | 
    
         
            +
            this._instances.splice(idx, 0, this._insertRow(idx, key, pool));
         
     | 
| 
       3648 
3675 
     | 
    
         
             
            return idx;
         
     | 
| 
       3649 
3676 
     | 
    
         
             
            },
         
     | 
| 
       3650 
     | 
    
         
            -
             
     | 
| 
       3651 
     | 
    
         
            -
            var keys = this._orderedKeys;
         
     | 
| 
      
 3677 
     | 
    
         
            +
            _applySplicesArrayOrder: function (splices) {
         
     | 
| 
       3652 
3678 
     | 
    
         
             
            var pool = [];
         
     | 
| 
      
 3679 
     | 
    
         
            +
            var c = this.collection;
         
     | 
| 
       3653 
3680 
     | 
    
         
             
            splices.forEach(function (s) {
         
     | 
| 
       3654 
3681 
     | 
    
         
             
            for (var i = 0; i < s.removed.length; i++) {
         
     | 
| 
       3655 
     | 
    
         
            -
             
     | 
| 
      
 3682 
     | 
    
         
            +
            var inst = this._detachRow(s.index + i);
         
     | 
| 
      
 3683 
     | 
    
         
            +
            if (!inst.isPlaceholder) {
         
     | 
| 
      
 3684 
     | 
    
         
            +
            pool.push(inst);
         
     | 
| 
       3656 
3685 
     | 
    
         
             
            }
         
     | 
| 
       3657 
     | 
    
         
            -
             
     | 
| 
       3658 
     | 
    
         
            -
             
     | 
| 
       3659 
     | 
    
         
            -
            var c = this.collection;
         
     | 
| 
       3660 
     | 
    
         
            -
            splices.forEach(function (s) {
         
     | 
| 
       3661 
     | 
    
         
            -
            var args = [
         
     | 
| 
       3662 
     | 
    
         
            -
            s.index,
         
     | 
| 
       3663 
     | 
    
         
            -
            s.removed.length
         
     | 
| 
       3664 
     | 
    
         
            -
            ].concat(s.added);
         
     | 
| 
       3665 
     | 
    
         
            -
            keys.splice.apply(keys, args);
         
     | 
| 
      
 3686 
     | 
    
         
            +
            }
         
     | 
| 
      
 3687 
     | 
    
         
            +
            this._instances.splice(s.index, s.removed.length);
         
     | 
| 
       3666 
3688 
     | 
    
         
             
            for (var i = 0; i < s.added.length; i++) {
         
     | 
| 
       3667 
     | 
    
         
            -
            var  
     | 
| 
       3668 
     | 
    
         
            -
             
     | 
| 
       3669 
     | 
    
         
            -
             
     | 
| 
      
 3689 
     | 
    
         
            +
            var inst = {
         
     | 
| 
      
 3690 
     | 
    
         
            +
            isPlaceholder: true,
         
     | 
| 
      
 3691 
     | 
    
         
            +
            key: s.added[i]
         
     | 
| 
      
 3692 
     | 
    
         
            +
            };
         
     | 
| 
      
 3693 
     | 
    
         
            +
            this._instances.splice(s.index + i, 0, inst);
         
     | 
| 
       3670 
3694 
     | 
    
         
             
            }
         
     | 
| 
       3671 
3695 
     | 
    
         
             
            }, this);
         
     | 
| 
      
 3696 
     | 
    
         
            +
            for (var i = this._instances.length - 1; i >= 0; i--) {
         
     | 
| 
      
 3697 
     | 
    
         
            +
            var inst = this._instances[i];
         
     | 
| 
      
 3698 
     | 
    
         
            +
            if (inst.isPlaceholder) {
         
     | 
| 
      
 3699 
     | 
    
         
            +
            this._instances[i] = this._insertRow(i, inst.key, pool, true);
         
     | 
| 
      
 3700 
     | 
    
         
            +
            }
         
     | 
| 
      
 3701 
     | 
    
         
            +
            }
         
     | 
| 
       3672 
3702 
     | 
    
         
             
            },
         
     | 
| 
       3673 
3703 
     | 
    
         
             
            _detachRow: function (idx) {
         
     | 
| 
       3674 
     | 
    
         
            -
            var  
     | 
| 
      
 3704 
     | 
    
         
            +
            var inst = this._instances[idx];
         
     | 
| 
      
 3705 
     | 
    
         
            +
            if (!inst.isPlaceholder) {
         
     | 
| 
       3675 
3706 
     | 
    
         
             
            var parentNode = Polymer.dom(this).parentNode;
         
     | 
| 
       3676 
     | 
    
         
            -
            for (var i = 0; i <  
     | 
| 
       3677 
     | 
    
         
            -
            var el =  
     | 
| 
       3678 
     | 
    
         
            -
            Polymer.dom( 
     | 
| 
      
 3707 
     | 
    
         
            +
            for (var i = 0; i < inst._children.length; i++) {
         
     | 
| 
      
 3708 
     | 
    
         
            +
            var el = inst._children[i];
         
     | 
| 
      
 3709 
     | 
    
         
            +
            Polymer.dom(inst.root).appendChild(el);
         
     | 
| 
      
 3710 
     | 
    
         
            +
            }
         
     | 
| 
       3679 
3711 
     | 
    
         
             
            }
         
     | 
| 
       3680 
     | 
    
         
            -
            return  
     | 
| 
      
 3712 
     | 
    
         
            +
            return inst;
         
     | 
| 
       3681 
3713 
     | 
    
         
             
            },
         
     | 
| 
       3682 
     | 
    
         
            -
            _insertRow: function (idx, pool,  
     | 
| 
       3683 
     | 
    
         
            -
            var  
     | 
| 
       3684 
     | 
    
         
            -
             
     | 
| 
      
 3714 
     | 
    
         
            +
            _insertRow: function (idx, key, pool, replace) {
         
     | 
| 
      
 3715 
     | 
    
         
            +
            var inst;
         
     | 
| 
      
 3716 
     | 
    
         
            +
            if (inst = pool && pool.pop()) {
         
     | 
| 
      
 3717 
     | 
    
         
            +
            inst.__setProperty(this.as, this.collection.getItem(key), true);
         
     | 
| 
      
 3718 
     | 
    
         
            +
            inst.__setProperty('__key__', key, true);
         
     | 
| 
      
 3719 
     | 
    
         
            +
            } else {
         
     | 
| 
      
 3720 
     | 
    
         
            +
            inst = this._generateRow(idx, key);
         
     | 
| 
      
 3721 
     | 
    
         
            +
            }
         
     | 
| 
      
 3722 
     | 
    
         
            +
            var beforeRow = this._instances[replace ? idx + 1 : idx];
         
     | 
| 
       3685 
3723 
     | 
    
         
             
            var beforeNode = beforeRow ? beforeRow._children[0] : this;
         
     | 
| 
       3686 
3724 
     | 
    
         
             
            var parentNode = Polymer.dom(this).parentNode;
         
     | 
| 
       3687 
     | 
    
         
            -
            Polymer.dom(parentNode).insertBefore( 
     | 
| 
       3688 
     | 
    
         
            -
            return  
     | 
| 
      
 3725 
     | 
    
         
            +
            Polymer.dom(parentNode).insertBefore(inst.root, beforeNode);
         
     | 
| 
      
 3726 
     | 
    
         
            +
            return inst;
         
     | 
| 
       3689 
3727 
     | 
    
         
             
            },
         
     | 
| 
       3690 
     | 
    
         
            -
            _generateRow: function (idx,  
     | 
| 
       3691 
     | 
    
         
            -
            var model = { __key__:  
     | 
| 
       3692 
     | 
    
         
            -
            model[this.as] =  
     | 
| 
      
 3728 
     | 
    
         
            +
            _generateRow: function (idx, key) {
         
     | 
| 
      
 3729 
     | 
    
         
            +
            var model = { __key__: key };
         
     | 
| 
      
 3730 
     | 
    
         
            +
            model[this.as] = this.collection.getItem(key);
         
     | 
| 
       3693 
3731 
     | 
    
         
             
            model[this.indexAs] = idx;
         
     | 
| 
       3694 
     | 
    
         
            -
            var  
     | 
| 
       3695 
     | 
    
         
            -
            return  
     | 
| 
      
 3732 
     | 
    
         
            +
            var inst = this.stamp(model);
         
     | 
| 
      
 3733 
     | 
    
         
            +
            return inst;
         
     | 
| 
       3696 
3734 
     | 
    
         
             
            },
         
     | 
| 
       3697 
3735 
     | 
    
         
             
            _showHideChildren: function (hidden) {
         
     | 
| 
       3698 
     | 
    
         
            -
             
     | 
| 
       3699 
     | 
    
         
            -
             
     | 
| 
       3700 
     | 
    
         
            -
            this.rows[i]._showHideChildren(hidden);
         
     | 
| 
       3701 
     | 
    
         
            -
            }
         
     | 
| 
      
 3736 
     | 
    
         
            +
            for (var i = 0; i < this._instances.length; i++) {
         
     | 
| 
      
 3737 
     | 
    
         
            +
            this._instances[i]._showHideChildren(hidden);
         
     | 
| 
       3702 
3738 
     | 
    
         
             
            }
         
     | 
| 
       3703 
3739 
     | 
    
         
             
            },
         
     | 
| 
       3704 
     | 
    
         
            -
            _forwardInstanceProp: function ( 
     | 
| 
      
 3740 
     | 
    
         
            +
            _forwardInstanceProp: function (inst, prop, value) {
         
     | 
| 
       3705 
3741 
     | 
    
         
             
            if (prop == this.as) {
         
     | 
| 
       3706 
3742 
     | 
    
         
             
            var idx;
         
     | 
| 
       3707 
3743 
     | 
    
         
             
            if (this._sortFn || this._filterFn) {
         
     | 
| 
       3708 
     | 
    
         
            -
            idx = this.items.indexOf(this.collection.getItem( 
     | 
| 
      
 3744 
     | 
    
         
            +
            idx = this.items.indexOf(this.collection.getItem(inst.__key__));
         
     | 
| 
       3709 
3745 
     | 
    
         
             
            } else {
         
     | 
| 
       3710 
     | 
    
         
            -
            idx =  
     | 
| 
      
 3746 
     | 
    
         
            +
            idx = inst[this.indexAs];
         
     | 
| 
       3711 
3747 
     | 
    
         
             
            }
         
     | 
| 
       3712 
3748 
     | 
    
         
             
            this.set('items.' + idx, value);
         
     | 
| 
       3713 
3749 
     | 
    
         
             
            }
         
     | 
| 
       3714 
3750 
     | 
    
         
             
            },
         
     | 
| 
       3715 
     | 
    
         
            -
            _forwardInstancePath: function ( 
     | 
| 
      
 3751 
     | 
    
         
            +
            _forwardInstancePath: function (inst, path, value) {
         
     | 
| 
       3716 
3752 
     | 
    
         
             
            if (path.indexOf(this.as + '.') === 0) {
         
     | 
| 
       3717 
     | 
    
         
            -
            this.notifyPath('items.' +  
     | 
| 
      
 3753 
     | 
    
         
            +
            this.notifyPath('items.' + inst.__key__ + '.' + path.slice(this.as.length + 1), value);
         
     | 
| 
       3718 
3754 
     | 
    
         
             
            }
         
     | 
| 
       3719 
3755 
     | 
    
         
             
            },
         
     | 
| 
       3720 
3756 
     | 
    
         
             
            _forwardParentProp: function (prop, value) {
         
     | 
| 
       3721 
     | 
    
         
            -
             
     | 
| 
       3722 
     | 
    
         
            -
             
     | 
| 
       3723 
     | 
    
         
            -
            row.__setProperty(prop, value, true);
         
     | 
| 
      
 3757 
     | 
    
         
            +
            this._instances.forEach(function (inst) {
         
     | 
| 
      
 3758 
     | 
    
         
            +
            inst.__setProperty(prop, value, true);
         
     | 
| 
       3724 
3759 
     | 
    
         
             
            }, this);
         
     | 
| 
       3725 
     | 
    
         
            -
            }
         
     | 
| 
       3726 
3760 
     | 
    
         
             
            },
         
     | 
| 
       3727 
3761 
     | 
    
         
             
            _forwardParentPath: function (path, value) {
         
     | 
| 
       3728 
     | 
    
         
            -
             
     | 
| 
       3729 
     | 
    
         
            -
             
     | 
| 
       3730 
     | 
    
         
            -
            row.notifyPath(path, value, true);
         
     | 
| 
      
 3762 
     | 
    
         
            +
            this._instances.forEach(function (inst) {
         
     | 
| 
      
 3763 
     | 
    
         
            +
            inst.notifyPath(path, value, true);
         
     | 
| 
       3731 
3764 
     | 
    
         
             
            }, this);
         
     | 
| 
       3732 
     | 
    
         
            -
            }
         
     | 
| 
       3733 
3765 
     | 
    
         
             
            },
         
     | 
| 
       3734 
3766 
     | 
    
         
             
            _forwardItemPath: function (path, value) {
         
     | 
| 
       3735 
     | 
    
         
            -
            if (this. 
     | 
| 
      
 3767 
     | 
    
         
            +
            if (this._keyToInstIdx) {
         
     | 
| 
       3736 
3768 
     | 
    
         
             
            var dot = path.indexOf('.');
         
     | 
| 
       3737 
3769 
     | 
    
         
             
            var key = path.substring(0, dot < 0 ? path.length : dot);
         
     | 
| 
       3738 
     | 
    
         
            -
            var idx = this. 
     | 
| 
       3739 
     | 
    
         
            -
            var  
     | 
| 
       3740 
     | 
    
         
            -
            if ( 
     | 
| 
      
 3770 
     | 
    
         
            +
            var idx = this._keyToInstIdx[key];
         
     | 
| 
      
 3771 
     | 
    
         
            +
            var inst = this._instances[idx];
         
     | 
| 
      
 3772 
     | 
    
         
            +
            if (inst) {
         
     | 
| 
       3741 
3773 
     | 
    
         
             
            if (dot >= 0) {
         
     | 
| 
       3742 
3774 
     | 
    
         
             
            path = this.as + '.' + path.substring(dot + 1);
         
     | 
| 
       3743 
     | 
    
         
            -
             
     | 
| 
      
 3775 
     | 
    
         
            +
            inst.notifyPath(path, value, true);
         
     | 
| 
       3744 
3776 
     | 
    
         
             
            } else {
         
     | 
| 
       3745 
     | 
    
         
            -
             
     | 
| 
      
 3777 
     | 
    
         
            +
            inst.__setProperty(this.as, value, true);
         
     | 
| 
       3746 
3778 
     | 
    
         
             
            }
         
     | 
| 
       3747 
3779 
     | 
    
         
             
            }
         
     | 
| 
       3748 
3780 
     | 
    
         
             
            }
         
     | 
| 
         @@ -3959,7 +3991,6 @@ created: function () { 
     | 
|
| 
       3959 
3991 
     | 
    
         
             
            Polymer.ImportStatus.whenLoaded(this._readySelf.bind(this));
         
     | 
| 
       3960 
3992 
     | 
    
         
             
            },
         
     | 
| 
       3961 
3993 
     | 
    
         
             
            _registerFeatures: function () {
         
     | 
| 
       3962 
     | 
    
         
            -
            this._prepExtends();
         
     | 
| 
       3963 
3994 
     | 
    
         
             
            this._prepConstructor();
         
     | 
| 
       3964 
3995 
     | 
    
         
             
            },
         
     | 
| 
       3965 
3996 
     | 
    
         
             
            _insertChildren: function () {
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: polymer-rails
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.7
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Alex Chaplinsky
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015-07- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-07-22 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     |