andela/eventx

View on GitHub
public/elements/elements.js

Summary

Maintainability
A
0 mins
Test Coverage
window.PolymerGestures={};(function(scope){var hasFullPath=false;var pathTest=document.createElement("meta");if(pathTest.createShadowRoot){var sr=pathTest.createShadowRoot();var s=document.createElement("span");sr.appendChild(s);pathTest.addEventListener("testpath",function(ev){if(ev.path){hasFullPath=ev.path[0]===s}ev.stopPropagation()});var ev=new CustomEvent("testpath",{bubbles:true});document.head.appendChild(pathTest);s.dispatchEvent(ev);pathTest.parentNode.removeChild(pathTest);sr=s=null}pathTest=null;var target={shadow:function(inEl){if(inEl){return inEl.shadowRoot||inEl.webkitShadowRoot}},canTarget:function(shadow){return shadow&&Boolean(shadow.elementFromPoint)},targetingShadow:function(inEl){var s=this.shadow(inEl);if(this.canTarget(s)){return s}},olderShadow:function(shadow){var os=shadow.olderShadowRoot;if(!os){var se=shadow.querySelector("shadow");if(se){os=se.olderShadowRoot}}return os},allShadows:function(element){var shadows=[],s=this.shadow(element);while(s){shadows.push(s);s=this.olderShadow(s)}return shadows},searchRoot:function(inRoot,x,y){var t,st,sr,os;if(inRoot){t=inRoot.elementFromPoint(x,y);if(t){sr=this.targetingShadow(t)}else if(inRoot!==document){sr=this.olderShadow(inRoot)}return this.searchRoot(sr,x,y)||t}},owner:function(element){if(!element){return document}var s=element;while(s.parentNode){s=s.parentNode}if(s.nodeType!=Node.DOCUMENT_NODE&&s.nodeType!=Node.DOCUMENT_FRAGMENT_NODE){s=document}return s},findTarget:function(inEvent){if(hasFullPath&&inEvent.path&&inEvent.path.length){return inEvent.path[0]}var x=inEvent.clientX,y=inEvent.clientY;var s=this.owner(inEvent.target);if(!s.elementFromPoint(x,y)){s=document}return this.searchRoot(s,x,y)},findTouchAction:function(inEvent){var n;if(hasFullPath&&inEvent.path&&inEvent.path.length){var path=inEvent.path;for(var i=0;i<path.length;i++){n=path[i];if(n.nodeType===Node.ELEMENT_NODE&&n.hasAttribute("touch-action")){return n.getAttribute("touch-action")}}}else{n=inEvent.target;while(n){if(n.nodeType===Node.ELEMENT_NODE&&n.hasAttribute("touch-action")){return n.getAttribute("touch-action")}n=n.parentNode||n.host}}return"auto"},LCA:function(a,b){if(a===b){return a}if(a&&!b){return a}if(b&&!a){return b}if(!b&&!a){return document}if(a.contains&&a.contains(b)){return a}if(b.contains&&b.contains(a)){return b}var adepth=this.depth(a);var bdepth=this.depth(b);var d=adepth-bdepth;if(d>=0){a=this.walk(a,d)}else{b=this.walk(b,-d)}while(a&&b&&a!==b){a=a.parentNode||a.host;b=b.parentNode||b.host}return a},walk:function(n,u){for(var i=0;n&&i<u;i++){n=n.parentNode||n.host}return n},depth:function(n){var d=0;while(n){d++;n=n.parentNode||n.host}return d},deepContains:function(a,b){var common=this.LCA(a,b);return common===a},insideNode:function(node,x,y){var rect=node.getBoundingClientRect();return rect.left<=x&&x<=rect.right&&rect.top<=y&&y<=rect.bottom},path:function(event){var p;if(hasFullPath&&event.path&&event.path.length){p=event.path}else{p=[];var n=this.findTarget(event);while(n){p.push(n);n=n.parentNode||n.host}}return p}};scope.targetFinding=target;scope.findTarget=target.findTarget.bind(target);scope.deepContains=target.deepContains.bind(target);scope.insideNode=target.insideNode})(window.PolymerGestures);(function(){function shadowSelector(v){return"html /deep/ "+selector(v)}function selector(v){return'[touch-action="'+v+'"]'}function rule(v){return"{ -ms-touch-action: "+v+"; touch-action: "+v+";}"}var attrib2css=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]},"manipulation"];var styles="";var hasTouchAction=typeof document.head.style.touchAction==="string";var hasShadowRoot=!window.ShadowDOMPolyfill&&document.head.createShadowRoot;if(hasTouchAction){attrib2css.forEach(function(r){if(String(r)===r){styles+=selector(r)+rule(r)+"\n";if(hasShadowRoot){styles+=shadowSelector(r)+rule(r)+"\n"}}else{styles+=r.selectors.map(selector)+rule(r.rule)+"\n";if(hasShadowRoot){styles+=r.selectors.map(shadowSelector)+rule(r.rule)+"\n"}}});var el=document.createElement("style");el.textContent=styles;document.head.appendChild(el)}})();(function(scope){var MOUSE_PROPS=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"];var MOUSE_DEFAULTS=[false,false,null,null,0,0,0,0,false,false,false,false,0,null,0,0];var NOP_FACTORY=function(){return function(){}};var eventFactory={preventTap:NOP_FACTORY,makeBaseEvent:function(inType,inDict){var e=document.createEvent("Event");e.initEvent(inType,inDict.bubbles||false,inDict.cancelable||false);e.preventTap=eventFactory.preventTap(e);return e},makeGestureEvent:function(inType,inDict){inDict=inDict||Object.create(null);var e=this.makeBaseEvent(inType,inDict);for(var i=0,keys=Object.keys(inDict),k;i<keys.length;i++){k=keys[i];if(k!=="bubbles"&&k!=="cancelable"){e[k]=inDict[k]}}return e},makePointerEvent:function(inType,inDict){inDict=inDict||Object.create(null);var e=this.makeBaseEvent(inType,inDict);for(var i=2,p;i<MOUSE_PROPS.length;i++){p=MOUSE_PROPS[i];e[p]=inDict[p]||MOUSE_DEFAULTS[i]}e.buttons=inDict.buttons||0;var pressure=0;if(inDict.pressure){pressure=inDict.pressure}else{pressure=e.buttons?.5:0}e.x=e.clientX;e.y=e.clientY;e.pointerId=inDict.pointerId||0;e.width=inDict.width||0;e.height=inDict.height||0;e.pressure=pressure;e.tiltX=inDict.tiltX||0;e.tiltY=inDict.tiltY||0;e.pointerType=inDict.pointerType||"";e.hwTimestamp=inDict.hwTimestamp||0;e.isPrimary=inDict.isPrimary||false;e._source=inDict._source||"";return e}};scope.eventFactory=eventFactory})(window.PolymerGestures);(function(scope){var USE_MAP=window.Map&&window.Map.prototype.forEach;var POINTERS_FN=function(){return this.size};function PointerMap(){if(USE_MAP){var m=new Map;m.pointers=POINTERS_FN;return m}else{this.keys=[];this.values=[]}}PointerMap.prototype={set:function(inId,inEvent){var i=this.keys.indexOf(inId);if(i>-1){this.values[i]=inEvent}else{this.keys.push(inId);this.values.push(inEvent)}},has:function(inId){return this.keys.indexOf(inId)>-1},"delete":function(inId){var i=this.keys.indexOf(inId);if(i>-1){this.keys.splice(i,1);this.values.splice(i,1)}},get:function(inId){var i=this.keys.indexOf(inId);return this.values[i]},clear:function(){this.keys.length=0;this.values.length=0},forEach:function(callback,thisArg){this.values.forEach(function(v,i){callback.call(thisArg,v,this.keys[i],this)},this)},pointers:function(){return this.keys.length}};scope.PointerMap=PointerMap})(window.PolymerGestures);(function(scope){var CLONE_PROPS=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp","preventTap","tapPrevented","_source"];var CLONE_DEFAULTS=[false,false,null,null,0,0,0,0,false,false,false,false,0,null,0,0,0,0,0,0,0,"",0,false,"",null,null,0,0,0,0,function(){},false];var HAS_SVG_INSTANCE=typeof SVGElementInstance!=="undefined";var eventFactory=scope.eventFactory;var currentGestures;var dispatcher={IS_IOS:false,pointermap:new scope.PointerMap,requiredGestures:new scope.PointerMap,eventMap:Object.create(null),eventSources:Object.create(null),eventSourceList:[],gestures:[],dependencyMap:{down:{listeners:0,index:-1},up:{listeners:0,index:-1}},gestureQueue:[],registerSource:function(name,source){var s=source;var newEvents=s.events;if(newEvents){newEvents.forEach(function(e){if(s[e]){this.eventMap[e]=s[e].bind(s)}},this);this.eventSources[name]=s;this.eventSourceList.push(s)}},registerGesture:function(name,source){var obj=Object.create(null);obj.listeners=0;obj.index=this.gestures.length;for(var i=0,g;i<source.exposes.length;i++){g=source.exposes[i].toLowerCase();this.dependencyMap[g]=obj}this.gestures.push(source)},register:function(element,initial){var l=this.eventSourceList.length;for(var i=0,es;i<l&&(es=this.eventSourceList[i]);i++){es.register.call(es,element,initial)}},unregister:function(element){var l=this.eventSourceList.length;for(var i=0,es;i<l&&(es=this.eventSourceList[i]);i++){es.unregister.call(es,element)}},down:function(inEvent){this.requiredGestures.set(inEvent.pointerId,currentGestures);this.fireEvent("down",inEvent)},move:function(inEvent){inEvent.type="move";this.fillGestureQueue(inEvent)},up:function(inEvent){this.fireEvent("up",inEvent);this.requiredGestures.delete(inEvent.pointerId)},cancel:function(inEvent){inEvent.tapPrevented=true;this.fireEvent("up",inEvent);this.requiredGestures.delete(inEvent.pointerId)},addGestureDependency:function(node,currentGestures){var gesturesWanted=node._pgEvents;if(gesturesWanted&&currentGestures){var gk=Object.keys(gesturesWanted);for(var i=0,r,ri,g;i<gk.length;i++){g=gk[i];if(gesturesWanted[g]>0){r=this.dependencyMap[g];ri=r?r.index:-1;currentGestures[ri]=true}}}},eventHandler:function(inEvent){var type=inEvent.type;if(type==="touchstart"||type==="mousedown"||type==="pointerdown"||type==="MSPointerDown"){if(!inEvent._handledByPG){currentGestures={}}if(this.IS_IOS){var ev=inEvent;if(type==="touchstart"){var ct=inEvent.changedTouches[0];ev={target:inEvent.target,clientX:ct.clientX,clientY:ct.clientY,path:inEvent.path}}var nodes=inEvent.path||scope.targetFinding.path(ev);for(var i=0,n;i<nodes.length;i++){n=nodes[i];this.addGestureDependency(n,currentGestures)}}else{this.addGestureDependency(inEvent.currentTarget,currentGestures)}}if(inEvent._handledByPG){return}var fn=this.eventMap&&this.eventMap[type];if(fn){fn(inEvent)}inEvent._handledByPG=true},listen:function(target,events){for(var i=0,l=events.length,e;i<l&&(e=events[i]);i++){this.addEvent(target,e)}},unlisten:function(target,events){for(var i=0,l=events.length,e;i<l&&(e=events[i]);i++){this.removeEvent(target,e)}},addEvent:function(target,eventName){target.addEventListener(eventName,this.boundHandler)},removeEvent:function(target,eventName){target.removeEventListener(eventName,this.boundHandler)},makeEvent:function(inType,inEvent){var e=eventFactory.makePointerEvent(inType,inEvent);e.preventDefault=inEvent.preventDefault;e.tapPrevented=inEvent.tapPrevented;e._target=e._target||inEvent.target;return e},fireEvent:function(inType,inEvent){var e=this.makeEvent(inType,inEvent);return this.dispatchEvent(e)},cloneEvent:function(inEvent){var eventCopy=Object.create(null),p;for(var i=0;i<CLONE_PROPS.length;i++){p=CLONE_PROPS[i];eventCopy[p]=inEvent[p]||CLONE_DEFAULTS[i];if(p==="target"||p==="relatedTarget"){if(HAS_SVG_INSTANCE&&eventCopy[p]instanceof SVGElementInstance){eventCopy[p]=eventCopy[p].correspondingUseElement}}}eventCopy.preventDefault=function(){inEvent.preventDefault()};return eventCopy},dispatchEvent:function(inEvent){var t=inEvent._target;if(t){t.dispatchEvent(inEvent);var clone=this.cloneEvent(inEvent);clone.target=t;this.fillGestureQueue(clone)}},gestureTrigger:function(){for(var i=0,e,rg;i<this.gestureQueue.length;i++){e=this.gestureQueue[i];rg=e._requiredGestures;if(rg){for(var j=0,g,fn;j<this.gestures.length;j++){if(rg[j]){g=this.gestures[j];fn=g[e.type];if(fn){fn.call(g,e)}}}}}this.gestureQueue.length=0},fillGestureQueue:function(ev){if(!this.gestureQueue.length){requestAnimationFrame(this.boundGestureTrigger)}ev._requiredGestures=this.requiredGestures.get(ev.pointerId);this.gestureQueue.push(ev)}};dispatcher.boundHandler=dispatcher.eventHandler.bind(dispatcher);dispatcher.boundGestureTrigger=dispatcher.gestureTrigger.bind(dispatcher);scope.dispatcher=dispatcher;scope.activateGesture=function(node,gesture){var g=gesture.toLowerCase();var dep=dispatcher.dependencyMap[g];if(dep){var recognizer=dispatcher.gestures[dep.index];if(!node._pgListeners){dispatcher.register(node);node._pgListeners=0}if(recognizer){var touchAction=recognizer.defaultActions&&recognizer.defaultActions[g];var actionNode;switch(node.nodeType){case Node.ELEMENT_NODE:actionNode=node;break;case Node.DOCUMENT_FRAGMENT_NODE:actionNode=node.host;break;default:actionNode=null;break}if(touchAction&&actionNode&&!actionNode.hasAttribute("touch-action")){actionNode.setAttribute("touch-action",touchAction)}}if(!node._pgEvents){node._pgEvents={}}node._pgEvents[g]=(node._pgEvents[g]||0)+1;node._pgListeners++}return Boolean(dep)};scope.addEventListener=function(node,gesture,handler,capture){if(handler){scope.activateGesture(node,gesture);node.addEventListener(gesture,handler,capture)}};scope.deactivateGesture=function(node,gesture){var g=gesture.toLowerCase();var dep=dispatcher.dependencyMap[g];if(dep){if(node._pgListeners>0){node._pgListeners--}if(node._pgListeners===0){dispatcher.unregister(node)}if(node._pgEvents){if(node._pgEvents[g]>0){node._pgEvents[g]--}else{node._pgEvents[g]=0}}}return Boolean(dep)};scope.removeEventListener=function(node,gesture,handler,capture){if(handler){scope.deactivateGesture(node,gesture);node.removeEventListener(gesture,handler,capture)}}})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var pointermap=dispatcher.pointermap;var DEDUP_DIST=25;var WHICH_TO_BUTTONS=[0,1,4,2];var currentButtons=0;var FIREFOX_LINUX=/Linux.*Firefox\//i;var HAS_BUTTONS=function(){if(FIREFOX_LINUX.test(navigator.userAgent)){return false}try{return new MouseEvent("test",{buttons:1}).buttons===1}catch(e){return false}}();var mouseEvents={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup"],exposes:["down","up","move"],register:function(target){dispatcher.listen(target,this.events)},unregister:function(target){if(target.nodeType===Node.DOCUMENT_NODE){return}dispatcher.unlisten(target,this.events)},lastTouches:[],isEventSimulatedFromTouch:function(inEvent){var lts=this.lastTouches;var x=inEvent.clientX,y=inEvent.clientY;for(var i=0,l=lts.length,t;i<l&&(t=lts[i]);i++){var dx=Math.abs(x-t.x),dy=Math.abs(y-t.y);if(dx<=DEDUP_DIST&&dy<=DEDUP_DIST){return true}}},prepareEvent:function(inEvent){var e=dispatcher.cloneEvent(inEvent);e.pointerId=this.POINTER_ID;e.isPrimary=true;e.pointerType=this.POINTER_TYPE;e._source="mouse";if(!HAS_BUTTONS){var type=inEvent.type;var bit=WHICH_TO_BUTTONS[inEvent.which]||0;if(type==="mousedown"){currentButtons|=bit}else if(type==="mouseup"){currentButtons&=~bit}e.buttons=currentButtons}return e},mousedown:function(inEvent){if(!this.isEventSimulatedFromTouch(inEvent)){var p=pointermap.has(this.POINTER_ID);var e=this.prepareEvent(inEvent);e.target=scope.findTarget(inEvent);pointermap.set(this.POINTER_ID,e.target);dispatcher.down(e)}},mousemove:function(inEvent){if(!this.isEventSimulatedFromTouch(inEvent)){var target=pointermap.get(this.POINTER_ID);if(target){var e=this.prepareEvent(inEvent);e.target=target;if((HAS_BUTTONS?e.buttons:e.which)===0){if(!HAS_BUTTONS){currentButtons=e.buttons=0}dispatcher.cancel(e);this.cleanupMouse(e.buttons)}else{dispatcher.move(e)}}}},mouseup:function(inEvent){if(!this.isEventSimulatedFromTouch(inEvent)){var e=this.prepareEvent(inEvent);e.relatedTarget=scope.findTarget(inEvent);e.target=pointermap.get(this.POINTER_ID);dispatcher.up(e);this.cleanupMouse(e.buttons)}},cleanupMouse:function(buttons){if(buttons===0){pointermap.delete(this.POINTER_ID)}}};scope.mouseEvents=mouseEvents})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var allShadows=scope.targetFinding.allShadows.bind(scope.targetFinding);var pointermap=dispatcher.pointermap;var touchMap=Array.prototype.map.call.bind(Array.prototype.map);var DEDUP_TIMEOUT=2500;var DEDUP_DIST=25;var CLICK_COUNT_TIMEOUT=200;var HYSTERESIS=20;var ATTRIB="touch-action";var HAS_TOUCH_ACTION=false;var touchEvents={IS_IOS:false,events:["touchstart","touchmove","touchend","touchcancel"],exposes:["down","up","move"],register:function(target,initial){if(this.IS_IOS?initial:!initial){dispatcher.listen(target,this.events)}},unregister:function(target){if(!this.IS_IOS){dispatcher.unlisten(target,this.events)}},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y"},touchActionToScrollType:function(touchAction){var t=touchAction;var st=this.scrollTypes;if(t===st.EMITTER){return"none"}else if(t===st.XSCROLLER){return"X"}else if(t===st.YSCROLLER){return"Y"}else{return"XY"}},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(inTouch){return this.firstTouch===inTouch.identifier},setPrimaryTouch:function(inTouch){if(pointermap.pointers()===0||pointermap.pointers()===1&&pointermap.has(1)){this.firstTouch=inTouch.identifier;this.firstXY={X:inTouch.clientX,Y:inTouch.clientY};this.firstTarget=inTouch.target;this.scrolling=null;this.cancelResetClickCount()}},removePrimaryPointer:function(inPointer){if(inPointer.isPrimary){this.firstTouch=null;this.firstXY=null;this.resetClickCount()}},clickCount:0,resetId:null,resetClickCount:function(){var fn=function(){this.clickCount=0;this.resetId=null}.bind(this);this.resetId=setTimeout(fn,CLICK_COUNT_TIMEOUT)},cancelResetClickCount:function(){if(this.resetId){clearTimeout(this.resetId)}},typeToButtons:function(type){var ret=0;if(type==="touchstart"||type==="touchmove"){ret=1}return ret},findTarget:function(touch,id){if(this.currentTouchEvent.type==="touchstart"){if(this.isPrimaryTouch(touch)){var fastPath={clientX:touch.clientX,clientY:touch.clientY,path:this.currentTouchEvent.path,target:this.currentTouchEvent.target};return scope.findTarget(fastPath)}else{return scope.findTarget(touch)}}return pointermap.get(id)},touchToPointer:function(inTouch){var cte=this.currentTouchEvent;var e=dispatcher.cloneEvent(inTouch);var id=e.pointerId=inTouch.identifier+2;e.target=this.findTarget(inTouch,id);e.bubbles=true;e.cancelable=true;e.detail=this.clickCount;e.buttons=this.typeToButtons(cte.type);e.width=inTouch.webkitRadiusX||inTouch.radiusX||0;e.height=inTouch.webkitRadiusY||inTouch.radiusY||0;e.pressure=inTouch.webkitForce||inTouch.force||.5;e.isPrimary=this.isPrimaryTouch(inTouch);e.pointerType=this.POINTER_TYPE;e._source="touch";var self=this;e.preventDefault=function(){self.scrolling=false;self.firstXY=null;cte.preventDefault()};return e},processTouches:function(inEvent,inFunction){var tl=inEvent.changedTouches;this.currentTouchEvent=inEvent;for(var i=0,t,p;i<tl.length;i++){t=tl[i];p=this.touchToPointer(t);if(inEvent.type==="touchstart"){pointermap.set(p.pointerId,p.target)}if(pointermap.has(p.pointerId)){inFunction.call(this,p)}if(inEvent.type==="touchend"||inEvent._cancel){this.cleanUpPointer(p)}}},shouldScroll:function(inEvent){if(this.firstXY){var ret;var touchAction=scope.targetFinding.findTouchAction(inEvent);var scrollAxis=this.touchActionToScrollType(touchAction);if(scrollAxis==="none"){ret=false}else if(scrollAxis==="XY"){ret=true}else{var t=inEvent.changedTouches[0];var a=scrollAxis;var oa=scrollAxis==="Y"?"X":"Y";var da=Math.abs(t["client"+a]-this.firstXY[a]);var doa=Math.abs(t["client"+oa]-this.firstXY[oa]);ret=da>=doa}return ret}},findTouch:function(inTL,inId){for(var i=0,l=inTL.length,t;i<l&&(t=inTL[i]);i++){if(t.identifier===inId){return true}}},vacuumTouches:function(inEvent){var tl=inEvent.touches;if(pointermap.pointers()>=tl.length){var d=[];pointermap.forEach(function(value,key){if(key!==1&&!this.findTouch(tl,key-2)){var p=value;d.push(p)}},this);d.forEach(function(p){this.cancel(p);pointermap.delete(p.pointerId)},this)}},touchstart:function(inEvent){this.vacuumTouches(inEvent);this.setPrimaryTouch(inEvent.changedTouches[0]);this.dedupSynthMouse(inEvent);if(!this.scrolling){this.clickCount++;this.processTouches(inEvent,this.down)}},down:function(inPointer){dispatcher.down(inPointer)},touchmove:function(inEvent){if(HAS_TOUCH_ACTION){if(inEvent.cancelable){this.processTouches(inEvent,this.move)}}else{if(!this.scrolling){if(this.scrolling===null&&this.shouldScroll(inEvent)){this.scrolling=true}else{this.scrolling=false;inEvent.preventDefault();this.processTouches(inEvent,this.move)}}else if(this.firstXY){var t=inEvent.changedTouches[0];var dx=t.clientX-this.firstXY.X;var dy=t.clientY-this.firstXY.Y;var dd=Math.sqrt(dx*dx+dy*dy);if(dd>=HYSTERESIS){this.touchcancel(inEvent);this.scrolling=true;this.firstXY=null}}}},move:function(inPointer){dispatcher.move(inPointer)},touchend:function(inEvent){this.dedupSynthMouse(inEvent);this.processTouches(inEvent,this.up)},up:function(inPointer){inPointer.relatedTarget=scope.findTarget(inPointer);dispatcher.up(inPointer)},cancel:function(inPointer){dispatcher.cancel(inPointer)},touchcancel:function(inEvent){inEvent._cancel=true;this.processTouches(inEvent,this.cancel)},cleanUpPointer:function(inPointer){pointermap["delete"](inPointer.pointerId);this.removePrimaryPointer(inPointer)},dedupSynthMouse:function(inEvent){var lts=scope.mouseEvents.lastTouches;var t=inEvent.changedTouches[0];if(this.isPrimaryTouch(t)){var lt={x:t.clientX,y:t.clientY};lts.push(lt);var fn=function(lts,lt){var i=lts.indexOf(lt);if(i>-1){lts.splice(i,1)}}.bind(null,lts,lt);setTimeout(fn,DEDUP_TIMEOUT)}}};var STOP_PROP_FN=Event.prototype.stopImmediatePropagation||Event.prototype.stopPropagation;document.addEventListener("click",function(ev){var x=ev.clientX,y=ev.clientY;var closeTo=function(touch){var dx=Math.abs(x-touch.x),dy=Math.abs(y-touch.y);return dx<=DEDUP_DIST&&dy<=DEDUP_DIST};var wasTouched=scope.mouseEvents.lastTouches.some(closeTo);var path=scope.targetFinding.path(ev);if(wasTouched){for(var i=0;i<path.length;i++){if(path[i]===touchEvents.firstTarget){return}}ev.preventDefault();STOP_PROP_FN.call(ev)}},true);scope.touchEvents=touchEvents})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var pointermap=dispatcher.pointermap;var HAS_BITMAP_TYPE=window.MSPointerEvent&&typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE==="number";var msEvents={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerCancel"],register:function(target){dispatcher.listen(target,this.events)},unregister:function(target){if(target.nodeType===Node.DOCUMENT_NODE){return}dispatcher.unlisten(target,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(inEvent){var e=inEvent;e=dispatcher.cloneEvent(inEvent);if(HAS_BITMAP_TYPE){e.pointerType=this.POINTER_TYPES[inEvent.pointerType]}e._source="ms";return e},cleanup:function(id){pointermap["delete"](id)},MSPointerDown:function(inEvent){var e=this.prepareEvent(inEvent);e.target=scope.findTarget(inEvent);pointermap.set(inEvent.pointerId,e.target);dispatcher.down(e)},MSPointerMove:function(inEvent){var target=pointermap.get(inEvent.pointerId);if(target){var e=this.prepareEvent(inEvent);e.target=target;dispatcher.move(e)}},MSPointerUp:function(inEvent){var e=this.prepareEvent(inEvent);e.relatedTarget=scope.findTarget(inEvent);e.target=pointermap.get(e.pointerId);dispatcher.up(e);this.cleanup(inEvent.pointerId)},MSPointerCancel:function(inEvent){var e=this.prepareEvent(inEvent);e.relatedTarget=scope.findTarget(inEvent);e.target=pointermap.get(e.pointerId);dispatcher.cancel(e);this.cleanup(inEvent.pointerId)}};scope.msEvents=msEvents})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var pointermap=dispatcher.pointermap;var pointerEvents={events:["pointerdown","pointermove","pointerup","pointercancel"],prepareEvent:function(inEvent){var e=dispatcher.cloneEvent(inEvent);e._source="pointer";return e},register:function(target){dispatcher.listen(target,this.events)},unregister:function(target){if(target.nodeType===Node.DOCUMENT_NODE){return}dispatcher.unlisten(target,this.events)},cleanup:function(id){pointermap["delete"](id)},pointerdown:function(inEvent){var e=this.prepareEvent(inEvent);e.target=scope.findTarget(inEvent);pointermap.set(e.pointerId,e.target);dispatcher.down(e)},pointermove:function(inEvent){var target=pointermap.get(inEvent.pointerId);if(target){var e=this.prepareEvent(inEvent);e.target=target;dispatcher.move(e)}},pointerup:function(inEvent){var e=this.prepareEvent(inEvent);e.relatedTarget=scope.findTarget(inEvent);e.target=pointermap.get(e.pointerId);dispatcher.up(e);this.cleanup(inEvent.pointerId)},pointercancel:function(inEvent){var e=this.prepareEvent(inEvent);e.relatedTarget=scope.findTarget(inEvent);e.target=pointermap.get(e.pointerId);dispatcher.cancel(e);this.cleanup(inEvent.pointerId)}};scope.pointerEvents=pointerEvents})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var nav=window.navigator;if(window.PointerEvent){dispatcher.registerSource("pointer",scope.pointerEvents)}else if(nav.msPointerEnabled){dispatcher.registerSource("ms",scope.msEvents)}else{dispatcher.registerSource("mouse",scope.mouseEvents);if(window.ontouchstart!==undefined){dispatcher.registerSource("touch",scope.touchEvents)}}var ua=navigator.userAgent;var IS_IOS=ua.match(/iPad|iPhone|iPod/)&&"ontouchstart"in window;dispatcher.IS_IOS=IS_IOS;scope.touchEvents.IS_IOS=IS_IOS;dispatcher.register(document,true)})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var eventFactory=scope.eventFactory;var pointermap=new scope.PointerMap;var track={events:["down","move","up"],exposes:["trackstart","track","trackx","tracky","trackend"],defaultActions:{track:"none",trackx:"pan-y",tracky:"pan-x"},WIGGLE_THRESHOLD:4,clampDir:function(inDelta){return inDelta>0?1:-1},calcPositionDelta:function(inA,inB){var x=0,y=0;if(inA&&inB){x=inB.pageX-inA.pageX;y=inB.pageY-inA.pageY}return{x:x,y:y}},fireTrack:function(inType,inEvent,inTrackingData){var t=inTrackingData;var d=this.calcPositionDelta(t.downEvent,inEvent);var dd=this.calcPositionDelta(t.lastMoveEvent,inEvent);if(dd.x){t.xDirection=this.clampDir(dd.x)}else if(inType==="trackx"){return}if(dd.y){t.yDirection=this.clampDir(dd.y)}else if(inType==="tracky"){return}var gestureProto={bubbles:true,cancelable:true,trackInfo:t.trackInfo,relatedTarget:inEvent.relatedTarget,pointerType:inEvent.pointerType,pointerId:inEvent.pointerId,_source:"track"};if(inType!=="tracky"){gestureProto.x=inEvent.x;gestureProto.dx=d.x;gestureProto.ddx=dd.x;gestureProto.clientX=inEvent.clientX;gestureProto.pageX=inEvent.pageX;gestureProto.screenX=inEvent.screenX;gestureProto.xDirection=t.xDirection}if(inType!=="trackx"){gestureProto.dy=d.y;gestureProto.ddy=dd.y;gestureProto.y=inEvent.y;gestureProto.clientY=inEvent.clientY;gestureProto.pageY=inEvent.pageY;gestureProto.screenY=inEvent.screenY;gestureProto.yDirection=t.yDirection}var e=eventFactory.makeGestureEvent(inType,gestureProto);t.downTarget.dispatchEvent(e)},down:function(inEvent){if(inEvent.isPrimary&&(inEvent.pointerType==="mouse"?inEvent.buttons===1:true)){var p={downEvent:inEvent,downTarget:inEvent.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:false};pointermap.set(inEvent.pointerId,p)}},move:function(inEvent){var p=pointermap.get(inEvent.pointerId);if(p){if(!p.tracking){var d=this.calcPositionDelta(p.downEvent,inEvent);var move=d.x*d.x+d.y*d.y;if(move>this.WIGGLE_THRESHOLD){p.tracking=true;p.lastMoveEvent=p.downEvent;this.fireTrack("trackstart",inEvent,p)}}if(p.tracking){this.fireTrack("track",inEvent,p);this.fireTrack("trackx",inEvent,p);this.fireTrack("tracky",inEvent,p)}p.lastMoveEvent=inEvent}},up:function(inEvent){var p=pointermap.get(inEvent.pointerId);if(p){if(p.tracking){this.fireTrack("trackend",inEvent,p)}pointermap.delete(inEvent.pointerId)}}};dispatcher.registerGesture("track",track)})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var eventFactory=scope.eventFactory;var hold={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["down","move","up"],exposes:["hold","holdpulse","release"],heldPointer:null,holdJob:null,pulse:function(){var hold=Date.now()-this.heldPointer.timeStamp;var type=this.held?"holdpulse":"hold";this.fireHold(type,hold);this.held=true},cancel:function(){clearInterval(this.holdJob);if(this.held){this.fireHold("release")}this.held=false;this.heldPointer=null;this.target=null;this.holdJob=null},down:function(inEvent){if(inEvent.isPrimary&&!this.heldPointer){this.heldPointer=inEvent;this.target=inEvent.target;this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY)}},up:function(inEvent){if(this.heldPointer&&this.heldPointer.pointerId===inEvent.pointerId){this.cancel()}},move:function(inEvent){if(this.heldPointer&&this.heldPointer.pointerId===inEvent.pointerId){var x=inEvent.clientX-this.heldPointer.clientX;var y=inEvent.clientY-this.heldPointer.clientY;if(x*x+y*y>this.WIGGLE_THRESHOLD){this.cancel()}}},fireHold:function(inType,inHoldTime){var p={bubbles:true,cancelable:true,pointerType:this.heldPointer.pointerType,pointerId:this.heldPointer.pointerId,x:this.heldPointer.clientX,y:this.heldPointer.clientY,_source:"hold"};if(inHoldTime){p.holdTime=inHoldTime}var e=eventFactory.makeGestureEvent(inType,p);this.target.dispatchEvent(e)}};dispatcher.registerGesture("hold",hold)})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var eventFactory=scope.eventFactory;var pointermap=new scope.PointerMap;var tap={events:["down","up"],exposes:["tap"],down:function(inEvent){if(inEvent.isPrimary&&!inEvent.tapPrevented){pointermap.set(inEvent.pointerId,{target:inEvent.target,buttons:inEvent.buttons,x:inEvent.clientX,y:inEvent.clientY})}},shouldTap:function(e,downState){var tap=true;if(e.pointerType==="mouse"){tap=e.buttons^1&&downState.buttons&1}return tap&&!e.tapPrevented},up:function(inEvent){var start=pointermap.get(inEvent.pointerId);if(start&&this.shouldTap(inEvent,start)){var t=scope.targetFinding.LCA(start.target,inEvent.relatedTarget);if(t){var e=eventFactory.makeGestureEvent("tap",{bubbles:true,cancelable:true,x:inEvent.clientX,y:inEvent.clientY,detail:inEvent.detail,pointerType:inEvent.pointerType,pointerId:inEvent.pointerId,altKey:inEvent.altKey,ctrlKey:inEvent.ctrlKey,metaKey:inEvent.metaKey,shiftKey:inEvent.shiftKey,_source:"tap"});t.dispatchEvent(e)}}pointermap.delete(inEvent.pointerId)}};eventFactory.preventTap=function(e){return function(){e.tapPrevented=true;pointermap.delete(e.pointerId)}};dispatcher.registerGesture("tap",tap)})(window.PolymerGestures);(function(scope){var dispatcher=scope.dispatcher;var eventFactory=scope.eventFactory;var pointermap=new scope.PointerMap;var RAD_TO_DEG=180/Math.PI;var pinch={events:["down","up","move","cancel"],exposes:["pinchstart","pinch","pinchend","rotate"],defaultActions:{pinch:"none",rotate:"none"},reference:{},down:function(inEvent){pointermap.set(inEvent.pointerId,inEvent);if(pointermap.pointers()==2){var points=this.calcChord();var angle=this.calcAngle(points);this.reference={angle:angle,diameter:points.diameter,target:scope.targetFinding.LCA(points.a.target,points.b.target)};this.firePinch("pinchstart",points.diameter,points)}},up:function(inEvent){var p=pointermap.get(inEvent.pointerId);var num=pointermap.pointers();if(p){if(num===2){var points=this.calcChord();this.firePinch("pinchend",points.diameter,points)}pointermap.delete(inEvent.pointerId)}},move:function(inEvent){if(pointermap.has(inEvent.pointerId)){pointermap.set(inEvent.pointerId,inEvent);if(pointermap.pointers()>1){this.calcPinchRotate()}}},cancel:function(inEvent){this.up(inEvent)},firePinch:function(type,diameter,points){var zoom=diameter/this.reference.diameter;var e=eventFactory.makeGestureEvent(type,{bubbles:true,cancelable:true,scale:zoom,centerX:points.center.x,centerY:points.center.y,_source:"pinch"});this.reference.target.dispatchEvent(e)},fireRotate:function(angle,points){var diff=Math.round((angle-this.reference.angle)%360);var e=eventFactory.makeGestureEvent("rotate",{bubbles:true,cancelable:true,angle:diff,centerX:points.center.x,centerY:points.center.y,_source:"pinch"});this.reference.target.dispatchEvent(e)},calcPinchRotate:function(){var points=this.calcChord();var diameter=points.diameter;var angle=this.calcAngle(points);if(diameter!=this.reference.diameter){this.firePinch("pinch",diameter,points)}if(angle!=this.reference.angle){this.fireRotate(angle,points)}},calcChord:function(){var pointers=[];pointermap.forEach(function(p){pointers.push(p)});var dist=0;var points={a:pointers[0],b:pointers[1]};var x,y,d;for(var i=0;i<pointers.length;i++){var a=pointers[i];for(var j=i+1;j<pointers.length;j++){var b=pointers[j];
x=Math.abs(a.clientX-b.clientX);y=Math.abs(a.clientY-b.clientY);d=x+y;if(d>dist){dist=d;points={a:a,b:b}}}}x=Math.abs(points.a.clientX+points.b.clientX)/2;y=Math.abs(points.a.clientY+points.b.clientY)/2;points.center={x:x,y:y};points.diameter=dist;return points},calcAngle:function(points){var x=points.a.clientX-points.b.clientX;var y=points.a.clientY-points.b.clientY;return(360+Math.atan2(y,x)*RAD_TO_DEG)%360}};dispatcher.registerGesture("pinch",pinch)})(window.PolymerGestures);(function(global){"use strict";var Token,TokenName,Syntax,Messages,source,index,length,delegate,lookahead,state;Token={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8};TokenName={};TokenName[Token.BooleanLiteral]="Boolean";TokenName[Token.EOF]="<end>";TokenName[Token.Identifier]="Identifier";TokenName[Token.Keyword]="Keyword";TokenName[Token.NullLiteral]="Null";TokenName[Token.NumericLiteral]="Numeric";TokenName[Token.Punctuator]="Punctuator";TokenName[Token.StringLiteral]="String";Syntax={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"};Messages={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"};function assert(condition,message){if(!condition){throw new Error("ASSERT: "+message)}}function isDecimalDigit(ch){return ch>=48&&ch<=57}function isWhiteSpace(ch){return ch===32||ch===9||ch===11||ch===12||ch===160||ch>=5760&&" ᠎              ".indexOf(String.fromCharCode(ch))>0}function isLineTerminator(ch){return ch===10||ch===13||ch===8232||ch===8233}function isIdentifierStart(ch){return ch===36||ch===95||ch>=65&&ch<=90||ch>=97&&ch<=122}function isIdentifierPart(ch){return ch===36||ch===95||ch>=65&&ch<=90||ch>=97&&ch<=122||ch>=48&&ch<=57}function isKeyword(id){return id==="this"}function skipWhitespace(){while(index<length&&isWhiteSpace(source.charCodeAt(index))){++index}}function getIdentifier(){var start,ch;start=index++;while(index<length){ch=source.charCodeAt(index);if(isIdentifierPart(ch)){++index}else{break}}return source.slice(start,index)}function scanIdentifier(){var start,id,type;start=index;id=getIdentifier();if(id.length===1){type=Token.Identifier}else if(isKeyword(id)){type=Token.Keyword}else if(id==="null"){type=Token.NullLiteral}else if(id==="true"||id==="false"){type=Token.BooleanLiteral}else{type=Token.Identifier}return{type:type,value:id,range:[start,index]}}function scanPunctuator(){var start=index,code=source.charCodeAt(index),code2,ch1=source[index],ch2;switch(code){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:++index;return{type:Token.Punctuator,value:String.fromCharCode(code),range:[start,index]};default:code2=source.charCodeAt(index+1);if(code2===61){switch(code){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 124:index+=2;return{type:Token.Punctuator,value:String.fromCharCode(code)+String.fromCharCode(code2),range:[start,index]};case 33:case 61:index+=2;if(source.charCodeAt(index)===61){++index}return{type:Token.Punctuator,value:source.slice(start,index),range:[start,index]};default:break}}break}ch2=source[index+1];if(ch1===ch2&&"&|".indexOf(ch1)>=0){index+=2;return{type:Token.Punctuator,value:ch1+ch2,range:[start,index]}}if("<>=!+-*%&|^/".indexOf(ch1)>=0){++index;return{type:Token.Punctuator,value:ch1,range:[start,index]}}throwError({},Messages.UnexpectedToken,"ILLEGAL")}function scanNumericLiteral(){var number,start,ch;ch=source[index];assert(isDecimalDigit(ch.charCodeAt(0))||ch===".","Numeric literal must start with a decimal digit or a decimal point");start=index;number="";if(ch!=="."){number=source[index++];ch=source[index];if(number==="0"){if(ch&&isDecimalDigit(ch.charCodeAt(0))){throwError({},Messages.UnexpectedToken,"ILLEGAL")}}while(isDecimalDigit(source.charCodeAt(index))){number+=source[index++]}ch=source[index]}if(ch==="."){number+=source[index++];while(isDecimalDigit(source.charCodeAt(index))){number+=source[index++]}ch=source[index]}if(ch==="e"||ch==="E"){number+=source[index++];ch=source[index];if(ch==="+"||ch==="-"){number+=source[index++]}if(isDecimalDigit(source.charCodeAt(index))){while(isDecimalDigit(source.charCodeAt(index))){number+=source[index++]}}else{throwError({},Messages.UnexpectedToken,"ILLEGAL")}}if(isIdentifierStart(source.charCodeAt(index))){throwError({},Messages.UnexpectedToken,"ILLEGAL")}return{type:Token.NumericLiteral,value:parseFloat(number),range:[start,index]}}function scanStringLiteral(){var str="",quote,start,ch,octal=false;quote=source[index];assert(quote==="'"||quote==='"',"String literal must starts with a quote");start=index;++index;while(index<length){ch=source[index++];if(ch===quote){quote="";break}else if(ch==="\\"){ch=source[index++];if(!ch||!isLineTerminator(ch.charCodeAt(0))){switch(ch){case"n":str+="\n";break;case"r":str+="\r";break;case"t":str+="    ";break;case"b":str+="\b";break;case"f":str+="\f";break;case"v":str+="";break;default:str+=ch;break}}else{if(ch==="\r"&&source[index]==="\n"){++index}}}else if(isLineTerminator(ch.charCodeAt(0))){break}else{str+=ch}}if(quote!==""){throwError({},Messages.UnexpectedToken,"ILLEGAL")}return{type:Token.StringLiteral,value:str,octal:octal,range:[start,index]}}function isIdentifierName(token){return token.type===Token.Identifier||token.type===Token.Keyword||token.type===Token.BooleanLiteral||token.type===Token.NullLiteral}function advance(){var ch;skipWhitespace();if(index>=length){return{type:Token.EOF,range:[index,index]}}ch=source.charCodeAt(index);if(ch===40||ch===41||ch===58){return scanPunctuator()}if(ch===39||ch===34){return scanStringLiteral()}if(isIdentifierStart(ch)){return scanIdentifier()}if(ch===46){if(isDecimalDigit(source.charCodeAt(index+1))){return scanNumericLiteral()}return scanPunctuator()}if(isDecimalDigit(ch)){return scanNumericLiteral()}return scanPunctuator()}function lex(){var token;token=lookahead;index=token.range[1];lookahead=advance();index=token.range[1];return token}function peek(){var pos;pos=index;lookahead=advance();index=pos}function throwError(token,messageFormat){var error,args=Array.prototype.slice.call(arguments,2),msg=messageFormat.replace(/%(\d)/g,function(whole,index){assert(index<args.length,"Message reference must be in range");return args[index]});error=new Error(msg);error.index=index;error.description=msg;throw error}function throwUnexpected(token){throwError(token,Messages.UnexpectedToken,token.value)}function expect(value){var token=lex();if(token.type!==Token.Punctuator||token.value!==value){throwUnexpected(token)}}function match(value){return lookahead.type===Token.Punctuator&&lookahead.value===value}function matchKeyword(keyword){return lookahead.type===Token.Keyword&&lookahead.value===keyword}function consumeSemicolon(){if(source.charCodeAt(index)===59){lex();return}skipWhitespace();if(match(";")){lex();return}if(lookahead.type!==Token.EOF&&!match("}")){throwUnexpected(lookahead)}}function parseArrayInitialiser(){var elements=[];expect("[");while(!match("]")){if(match(",")){lex();elements.push(null)}else{elements.push(parseExpression());if(!match("]")){expect(",")}}}expect("]");return delegate.createArrayExpression(elements)}function parseObjectPropertyKey(){var token;skipWhitespace();token=lex();if(token.type===Token.StringLiteral||token.type===Token.NumericLiteral){return delegate.createLiteral(token)}return delegate.createIdentifier(token.value)}function parseObjectProperty(){var token,key;token=lookahead;skipWhitespace();if(token.type===Token.EOF||token.type===Token.Punctuator){throwUnexpected(token)}key=parseObjectPropertyKey();expect(":");return delegate.createProperty("init",key,parseExpression())}function parseObjectInitialiser(){var properties=[];expect("{");while(!match("}")){properties.push(parseObjectProperty());if(!match("}")){expect(",")}}expect("}");return delegate.createObjectExpression(properties)}function parseGroupExpression(){var expr;expect("(");expr=parseExpression();expect(")");return expr}function parsePrimaryExpression(){var type,token,expr;if(match("(")){return parseGroupExpression()}type=lookahead.type;if(type===Token.Identifier){expr=delegate.createIdentifier(lex().value)}else if(type===Token.StringLiteral||type===Token.NumericLiteral){expr=delegate.createLiteral(lex())}else if(type===Token.Keyword){if(matchKeyword("this")){lex();expr=delegate.createThisExpression()}}else if(type===Token.BooleanLiteral){token=lex();token.value=token.value==="true";expr=delegate.createLiteral(token)}else if(type===Token.NullLiteral){token=lex();token.value=null;expr=delegate.createLiteral(token)}else if(match("[")){expr=parseArrayInitialiser()}else if(match("{")){expr=parseObjectInitialiser()}if(expr){return expr}throwUnexpected(lex())}function parseArguments(){var args=[];expect("(");if(!match(")")){while(index<length){args.push(parseExpression());if(match(")")){break}expect(",")}}expect(")");return args}function parseNonComputedProperty(){var token;token=lex();if(!isIdentifierName(token)){throwUnexpected(token)}return delegate.createIdentifier(token.value)}function parseNonComputedMember(){expect(".");return parseNonComputedProperty()}function parseComputedMember(){var expr;expect("[");expr=parseExpression();expect("]");return expr}function parseLeftHandSideExpression(){var expr,args,property;expr=parsePrimaryExpression();while(true){if(match("[")){property=parseComputedMember();expr=delegate.createMemberExpression("[",expr,property)}else if(match(".")){property=parseNonComputedMember();expr=delegate.createMemberExpression(".",expr,property)}else if(match("(")){args=parseArguments();expr=delegate.createCallExpression(expr,args)}else{break}}return expr}var parsePostfixExpression=parseLeftHandSideExpression;function parseUnaryExpression(){var token,expr;if(lookahead.type!==Token.Punctuator&&lookahead.type!==Token.Keyword){expr=parsePostfixExpression()}else if(match("+")||match("-")||match("!")){token=lex();expr=parseUnaryExpression();expr=delegate.createUnaryExpression(token.value,expr)}else if(matchKeyword("delete")||matchKeyword("void")||matchKeyword("typeof")){throwError({},Messages.UnexpectedToken)}else{expr=parsePostfixExpression()}return expr}function binaryPrecedence(token){var prec=0;if(token.type!==Token.Punctuator&&token.type!==Token.Keyword){return 0}switch(token.value){case"||":prec=1;break;case"&&":prec=2;break;case"==":case"!=":case"===":case"!==":prec=6;break;case"<":case">":case"<=":case">=":case"instanceof":prec=7;break;case"in":prec=7;break;case"+":case"-":prec=9;break;case"*":case"/":case"%":prec=11;break;default:break}return prec}function parseBinaryExpression(){var expr,token,prec,stack,right,operator,left,i;left=parseUnaryExpression();token=lookahead;prec=binaryPrecedence(token);if(prec===0){return left}token.prec=prec;lex();right=parseUnaryExpression();stack=[left,token,right];while((prec=binaryPrecedence(lookahead))>0){while(stack.length>2&&prec<=stack[stack.length-2].prec){right=stack.pop();operator=stack.pop().value;left=stack.pop();expr=delegate.createBinaryExpression(operator,left,right);stack.push(expr)}token=lex();token.prec=prec;stack.push(token);expr=parseUnaryExpression();stack.push(expr)}i=stack.length-1;expr=stack[i];while(i>1){expr=delegate.createBinaryExpression(stack[i-1].value,stack[i-2],expr);i-=2}return expr}function parseConditionalExpression(){var expr,consequent,alternate;expr=parseBinaryExpression();if(match("?")){lex();consequent=parseConditionalExpression();expect(":");alternate=parseConditionalExpression();expr=delegate.createConditionalExpression(expr,consequent,alternate)}return expr}var parseExpression=parseConditionalExpression;function parseFilter(){var identifier,args;identifier=lex();if(identifier.type!==Token.Identifier){throwUnexpected(identifier)}args=match("(")?parseArguments():[];return delegate.createFilter(identifier.value,args)}function parseFilters(){while(match("|")){lex();parseFilter()}}function parseTopLevel(){skipWhitespace();peek();var expr=parseExpression();if(expr){if(lookahead.value===","||lookahead.value=="in"&&expr.type===Syntax.Identifier){parseInExpression(expr)}else{parseFilters();if(lookahead.value==="as"){parseAsExpression(expr)}else{delegate.createTopLevel(expr)}}}if(lookahead.type!==Token.EOF){throwUnexpected(lookahead)}}function parseAsExpression(expr){lex();var identifier=lex().value;delegate.createAsExpression(expr,identifier)}function parseInExpression(identifier){var indexName;if(lookahead.value===","){lex();if(lookahead.type!==Token.Identifier)throwUnexpected(lookahead);indexName=lex().value}lex();var expr=parseExpression();parseFilters();delegate.createInExpression(identifier.name,indexName,expr)}function parse(code,inDelegate){delegate=inDelegate;source=code;index=0;length=source.length;lookahead=null;state={labelSet:{}};return parseTopLevel()}global.esprima={parse:parse}})(this);(function(global){"use strict";function prepareBinding(expressionText,name,node,filterRegistry){var expression;try{expression=getExpression(expressionText);if(expression.scopeIdent&&(node.nodeType!==Node.ELEMENT_NODE||node.tagName!=="TEMPLATE"||name!=="bind"&&name!=="repeat")){throw Error("as and in can only be used within <template bind/repeat>")}}catch(ex){console.error("Invalid expression syntax: "+expressionText,ex);return}return function(model,node,oneTime){var binding=expression.getBinding(model,filterRegistry,oneTime);if(expression.scopeIdent&&binding){node.polymerExpressionScopeIdent_=expression.scopeIdent;if(expression.indexIdent)node.polymerExpressionIndexIdent_=expression.indexIdent}return binding}}var expressionParseCache=Object.create(null);function getExpression(expressionText){var expression=expressionParseCache[expressionText];if(!expression){var delegate=new ASTDelegate;esprima.parse(expressionText,delegate);expression=new Expression(delegate);expressionParseCache[expressionText]=expression}return expression}function Literal(value){this.value=value;this.valueFn_=undefined}Literal.prototype={valueFn:function(){if(!this.valueFn_){var value=this.value;this.valueFn_=function(){return value}}return this.valueFn_}};function IdentPath(name){this.name=name;this.path=Path.get(name)}IdentPath.prototype={valueFn:function(){if(!this.valueFn_){var name=this.name;var path=this.path;this.valueFn_=function(model,observer){if(observer)observer.addPath(model,path);return path.getValueFrom(model)}}return this.valueFn_},setValue:function(model,newValue){if(this.path.length==1)model=findScope(model,this.path[0]);return this.path.setValueFrom(model,newValue)}};function MemberExpression(object,property,accessor){this.computed=accessor=="[";this.dynamicDeps=typeof object=="function"||object.dynamicDeps||this.computed&&!(property instanceof Literal);this.simplePath=!this.dynamicDeps&&(property instanceof IdentPath||property instanceof Literal)&&(object instanceof MemberExpression||object instanceof IdentPath);this.object=this.simplePath?object:getFn(object);this.property=!this.computed||this.simplePath?property:getFn(property)}MemberExpression.prototype={get fullPath(){if(!this.fullPath_){var parts=this.object instanceof MemberExpression?this.object.fullPath.slice():[this.object.name];parts.push(this.property instanceof IdentPath?this.property.name:this.property.value);this.fullPath_=Path.get(parts)}return this.fullPath_},valueFn:function(){if(!this.valueFn_){var object=this.object;if(this.simplePath){var path=this.fullPath;this.valueFn_=function(model,observer){if(observer)observer.addPath(model,path);return path.getValueFrom(model)}}else if(!this.computed){var path=Path.get(this.property.name);this.valueFn_=function(model,observer,filterRegistry){var context=object(model,observer,filterRegistry);if(observer)observer.addPath(context,path);return path.getValueFrom(context)}}else{var property=this.property;this.valueFn_=function(model,observer,filterRegistry){var context=object(model,observer,filterRegistry);var propName=property(model,observer,filterRegistry);if(observer)observer.addPath(context,[propName]);return context?context[propName]:undefined}}}return this.valueFn_},setValue:function(model,newValue){if(this.simplePath){this.fullPath.setValueFrom(model,newValue);return newValue}var object=this.object(model);var propName=this.property instanceof IdentPath?this.property.name:this.property(model);return object[propName]=newValue}};function Filter(name,args){this.name=name;this.args=[];for(var i=0;i<args.length;i++){this.args[i]=getFn(args[i])}}Filter.prototype={transform:function(model,observer,filterRegistry,toModelDirection,initialArgs){var context=model;var fn=context[this.name];if(!fn){fn=filterRegistry[this.name];if(!fn){console.error("Cannot find function or filter: "+this.name);return}}if(toModelDirection){fn=fn.toModel}else if(typeof fn.toDOM=="function"){fn=fn.toDOM}if(typeof fn!="function"){console.error("Cannot find function or filter: "+this.name);return}var args=initialArgs||[];for(var i=0;i<this.args.length;i++){args.push(getFn(this.args[i])(model,observer,filterRegistry))}return fn.apply(context,args)}};function notImplemented(){throw Error("Not Implemented")}var unaryOperators={"+":function(v){return+v},"-":function(v){return-v},"!":function(v){return!v}};var binaryOperators={"+":function(l,r){return l+r},"-":function(l,r){return l-r},"*":function(l,r){return l*r},"/":function(l,r){return l/r},"%":function(l,r){return l%r},"<":function(l,r){return l<r},">":function(l,r){return l>r},"<=":function(l,r){return l<=r},">=":function(l,r){return l>=r},"==":function(l,r){return l==r},"!=":function(l,r){return l!=r},"===":function(l,r){return l===r},"!==":function(l,r){return l!==r},"&&":function(l,r){return l&&r},"||":function(l,r){return l||r}};function getFn(arg){return typeof arg=="function"?arg:arg.valueFn()}function ASTDelegate(){this.expression=null;this.filters=[];this.deps={};this.currentPath=undefined;this.scopeIdent=undefined;this.indexIdent=undefined;this.dynamicDeps=false}ASTDelegate.prototype={createUnaryExpression:function(op,argument){if(!unaryOperators[op])throw Error("Disallowed operator: "+op);argument=getFn(argument);return function(model,observer,filterRegistry){return unaryOperators[op](argument(model,observer,filterRegistry))}},createBinaryExpression:function(op,left,right){if(!binaryOperators[op])throw Error("Disallowed operator: "+op);left=getFn(left);right=getFn(right);switch(op){case"||":this.dynamicDeps=true;return function(model,observer,filterRegistry){return left(model,observer,filterRegistry)||right(model,observer,filterRegistry)};case"&&":this.dynamicDeps=true;return function(model,observer,filterRegistry){return left(model,observer,filterRegistry)&&right(model,observer,filterRegistry)}}return function(model,observer,filterRegistry){return binaryOperators[op](left(model,observer,filterRegistry),right(model,observer,filterRegistry))}},createConditionalExpression:function(test,consequent,alternate){test=getFn(test);consequent=getFn(consequent);alternate=getFn(alternate);this.dynamicDeps=true;return function(model,observer,filterRegistry){return test(model,observer,filterRegistry)?consequent(model,observer,filterRegistry):alternate(model,observer,filterRegistry)}},createIdentifier:function(name){var ident=new IdentPath(name);ident.type="Identifier";return ident},createMemberExpression:function(accessor,object,property){var ex=new MemberExpression(object,property,accessor);if(ex.dynamicDeps)this.dynamicDeps=true;return ex},createCallExpression:function(expression,args){if(!(expression instanceof IdentPath))throw Error("Only identifier function invocations are allowed");var filter=new Filter(expression.name,args);return function(model,observer,filterRegistry){return filter.transform(model,observer,filterRegistry,false)}},createLiteral:function(token){return new Literal(token.value)},createArrayExpression:function(elements){for(var i=0;i<elements.length;i++)elements[i]=getFn(elements[i]);return function(model,observer,filterRegistry){var arr=[];for(var i=0;i<elements.length;i++)arr.push(elements[i](model,observer,filterRegistry));return arr}},createProperty:function(kind,key,value){return{key:key instanceof IdentPath?key.name:key.value,value:value}},createObjectExpression:function(properties){for(var i=0;i<properties.length;i++)properties[i].value=getFn(properties[i].value);return function(model,observer,filterRegistry){var obj={};for(var i=0;i<properties.length;i++)obj[properties[i].key]=properties[i].value(model,observer,filterRegistry);return obj}},createFilter:function(name,args){this.filters.push(new Filter(name,args))},createAsExpression:function(expression,scopeIdent){this.expression=expression;this.scopeIdent=scopeIdent},createInExpression:function(scopeIdent,indexIdent,expression){this.expression=expression;this.scopeIdent=scopeIdent;this.indexIdent=indexIdent},createTopLevel:function(expression){this.expression=expression},createThisExpression:notImplemented};function ConstantObservable(value){this.value_=value}ConstantObservable.prototype={open:function(){return this.value_},discardChanges:function(){return this.value_},deliver:function(){},close:function(){}};function Expression(delegate){this.scopeIdent=delegate.scopeIdent;this.indexIdent=delegate.indexIdent;if(!delegate.expression)throw Error("No expression found.");this.expression=delegate.expression;getFn(this.expression);this.filters=delegate.filters;this.dynamicDeps=delegate.dynamicDeps}Expression.prototype={getBinding:function(model,filterRegistry,oneTime){if(oneTime)return this.getValue(model,undefined,filterRegistry);var observer=new CompoundObserver;var firstValue=this.getValue(model,observer,filterRegistry);var firstTime=true;var self=this;function valueFn(){if(firstTime){firstTime=false;return firstValue}if(self.dynamicDeps)observer.startReset();var value=self.getValue(model,self.dynamicDeps?observer:undefined,filterRegistry);if(self.dynamicDeps)observer.finishReset();return value}function setValueFn(newValue){self.setValue(model,newValue,filterRegistry);return newValue}return new ObserverTransform(observer,valueFn,setValueFn,true)},getValue:function(model,observer,filterRegistry){var value=getFn(this.expression)(model,observer,filterRegistry);for(var i=0;i<this.filters.length;i++){value=this.filters[i].transform(model,observer,filterRegistry,false,[value])}return value},setValue:function(model,newValue,filterRegistry){var count=this.filters?this.filters.length:0;while(count-->0){newValue=this.filters[count].transform(model,undefined,filterRegistry,true,[newValue])}if(this.expression.setValue)return this.expression.setValue(model,newValue)}};function convertStylePropertyName(name){return String(name).replace(/[A-Z]/g,function(c){return"-"+c.toLowerCase()})}var parentScopeName="@"+Math.random().toString(36).slice(2);function findScope(model,prop){while(model[parentScopeName]&&!Object.prototype.hasOwnProperty.call(model,prop)){model=model[parentScopeName]}return model}function isLiteralExpression(pathString){switch(pathString){case"":return false;case"false":case"null":case"true":return true}if(!isNaN(Number(pathString)))return true;return false}function PolymerExpressions(){}PolymerExpressions.prototype={styleObject:function(value){var parts=[];for(var key in value){parts.push(convertStylePropertyName(key)+": "+value[key])}return parts.join("; ")},tokenList:function(value){var tokens=[];for(var key in value){if(value[key])tokens.push(key)}return tokens.join(" ")},prepareInstancePositionChanged:function(template){var indexIdent=template.polymerExpressionIndexIdent_;if(!indexIdent)return;return function(templateInstance,index){templateInstance.model[indexIdent]=index}},prepareBinding:function(pathString,name,node){var path=Path.get(pathString);if(!isLiteralExpression(pathString)&&path.valid){if(path.length==1){return function(model,node,oneTime){if(oneTime)return path.getValueFrom(model);var scope=findScope(model,path[0]);return new PathObserver(scope,path)}}return}return prepareBinding(pathString,name,node,this)},prepareInstanceModel:function(template){var scopeName=template.polymerExpressionScopeIdent_;if(!scopeName)return;var parentScope=template.templateInstance?template.templateInstance.model:template.model;var indexName=template.polymerExpressionIndexIdent_;return function(model){return createScopeObject(parentScope,model,scopeName,indexName)}}};var createScopeObject="__proto__"in{}?function(parentScope,model,scopeName,indexName){var scope={};scope[scopeName]=model;scope[indexName]=undefined;scope[parentScopeName]=parentScope;scope.__proto__=parentScope;return scope}:function(parentScope,model,scopeName,indexName){var scope=Object.create(parentScope);Object.defineProperty(scope,scopeName,{value:model,configurable:true,writable:true});Object.defineProperty(scope,indexName,{value:undefined,configurable:true,writable:true});Object.defineProperty(scope,parentScopeName,{value:parentScope,configurable:true,writable:true});return scope};global.PolymerExpressions=PolymerExpressions;PolymerExpressions.getExpression=getExpression})(this);Polymer={version:"0.5.5"};if(typeof window.Polymer==="function"){Polymer={}}(function(scope){function withDependencies(task,depends){depends=depends||[];if(!depends.map){depends=[depends]}return task.apply(this,depends.map(marshal))}function module(name,dependsOrFactory,moduleFactory){var module;switch(arguments.length){case 0:return;case 1:module=null;break;case 2:module=dependsOrFactory.apply(this);break;default:module=withDependencies(moduleFactory,dependsOrFactory);break}modules[name]=module}function marshal(name){return modules[name]}var modules={};function using(depends,task){HTMLImports.whenImportsReady(function(){withDependencies(task,depends)})}scope.marshal=marshal;scope.modularize=module;scope.using=using})(window);if(!window.WebComponents){if(!window.WebComponents){WebComponents={flush:function(){},flags:{log:{}}};Platform=WebComponents;CustomElements={useNative:true,ready:true,takeRecords:function(){},"instanceof":function(obj,base){return obj instanceof base}};HTMLImports={useNative:true};addEventListener("HTMLImportsLoaded",function(){document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:true}))});ShadowDOMPolyfill=null;wrap=unwrap=function(n){return n}}window.HTMLImports=window.HTMLImports||{flags:{}};(function(scope){var IMPORT_LINK_TYPE="import";var useNative=Boolean(IMPORT_LINK_TYPE in document.createElement("link"));var hasShadowDOMPolyfill=Boolean(window.ShadowDOMPolyfill);var wrap=function(node){return hasShadowDOMPolyfill?ShadowDOMPolyfill.wrapIfNeeded(node):node};var rootDocument=wrap(document);var currentScriptDescriptor={get:function(){var script=HTMLImports.currentScript||document.currentScript||(document.readyState!=="complete"?document.scripts[document.scripts.length-1]:null);return wrap(script)},configurable:true};Object.defineProperty(document,"_currentScript",currentScriptDescriptor);Object.defineProperty(rootDocument,"_currentScript",currentScriptDescriptor);var isIE=/Trident/.test(navigator.userAgent);function whenReady(callback,doc){doc=doc||rootDocument;whenDocumentReady(function(){watchImportsLoad(callback,doc)},doc)}var requiredReadyState=isIE?"complete":"interactive";var READY_EVENT="readystatechange";function isDocumentReady(doc){return doc.readyState==="complete"||doc.readyState===requiredReadyState}function whenDocumentReady(callback,doc){if(!isDocumentReady(doc)){var checkReady=function(){if(doc.readyState==="complete"||doc.readyState===requiredReadyState){doc.removeEventListener(READY_EVENT,checkReady);whenDocumentReady(callback,doc)}};doc.addEventListener(READY_EVENT,checkReady)}else if(callback){callback()}}function markTargetLoaded(event){event.target.__loaded=true}function watchImportsLoad(callback,doc){var imports=doc.querySelectorAll("link[rel=import]");var loaded=0,l=imports.length;function checkDone(d){if(loaded==l&&callback){callback()}}function loadedImport(e){markTargetLoaded(e);loaded++;checkDone()}if(l){for(var i=0,imp;i<l&&(imp=imports[i]);i++){if(isImportLoaded(imp)){loadedImport.call(imp,{target:imp})}else{imp.addEventListener("load",loadedImport);imp.addEventListener("error",loadedImport)}}}else{checkDone()}}function isImportLoaded(link){return useNative?link.__loaded||link.import&&link.import.readyState!=="loading":link.__importParsed}if(useNative){new MutationObserver(function(mxns){for(var i=0,l=mxns.length,m;i<l&&(m=mxns[i]);i++){if(m.addedNodes){handleImports(m.addedNodes)}}}).observe(document.head,{childList:true});function handleImports(nodes){for(var i=0,l=nodes.length,n;i<l&&(n=nodes[i]);i++){if(isImport(n)){handleImport(n)}}}function isImport(element){return element.localName==="link"&&element.rel==="import"}function handleImport(element){var loaded=element.import;if(loaded){markTargetLoaded({target:element})}else{element.addEventListener("load",markTargetLoaded);element.addEventListener("error",markTargetLoaded)}}(function(){if(document.readyState==="loading"){var imports=document.querySelectorAll("link[rel=import]");for(var i=0,l=imports.length,imp;i<l&&(imp=imports[i]);i++){handleImport(imp)}}})()}whenReady(function(){HTMLImports.ready=true;HTMLImports.readyTime=(new Date).getTime();rootDocument.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:true}))});scope.IMPORT_LINK_TYPE=IMPORT_LINK_TYPE;scope.useNative=useNative;scope.rootDocument=rootDocument;scope.whenReady=whenReady;scope.isIE=isIE})(HTMLImports);(function(scope){var style=document.createElement("style");style.textContent=""+"body {"+"transition: opacity ease-in 0.2s;"+" } \n"+"body[unresolved] {"+"opacity: 0; display: block; overflow: hidden;"+" } \n";var head=document.querySelector("head");head.insertBefore(style,head.firstChild)})(Platform)}(function(global){"use strict";var testingExposeCycleCount=global.testingExposeCycleCount;function detectObjectObserve(){if(typeof Object.observe!=="function"||typeof Array.observe!=="function"){return false}var records=[];function callback(recs){records=recs}var test={};var arr=[];Object.observe(test,callback);Array.observe(arr,callback);test.id=1;test.id=2;delete test.id;arr.push(1,2);arr.length=0;Object.deliverChangeRecords(callback);if(records.length!==5)return false;if(records[0].type!="add"||records[1].type!="update"||records[2].type!="delete"||records[3].type!="splice"||records[4].type!="splice"){return false}Object.unobserve(test,callback);Array.unobserve(arr,callback);return true}var hasObserve=detectObjectObserve();function detectEval(){if(typeof chrome!=="undefined"&&chrome.app&&chrome.app.runtime){return false}if(typeof navigator!="undefined"&&navigator.getDeviceStorage){return false}try{var f=new Function("","return true;");return f()}catch(ex){return false}}var hasEval=detectEval();function isIndex(s){return+s===s>>>0&&s!==""}function toNumber(s){return+s}function isObject(obj){return obj===Object(obj)}var numberIsNaN=global.Number.isNaN||function(value){return typeof value==="number"&&global.isNaN(value)};function areSameValue(left,right){if(left===right)return left!==0||1/left===1/right;if(numberIsNaN(left)&&numberIsNaN(right))return true;return left!==left&&right!==right}var createObject="__proto__"in{}?function(obj){return obj}:function(obj){var proto=obj.__proto__;if(!proto)return obj;var newObject=Object.create(proto);Object.getOwnPropertyNames(obj).forEach(function(name){Object.defineProperty(newObject,name,Object.getOwnPropertyDescriptor(obj,name))});return newObject};var identStart="[$_a-zA-Z]";var identPart="[$_a-zA-Z0-9]";var identRegExp=new RegExp("^"+identStart+"+"+identPart+"*"+"$");
function getPathCharType(char){if(char===undefined)return"eof";var code=char.charCodeAt(0);switch(code){case 91:case 93:case 46:case 34:case 39:case 48:return char;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}if(97<=code&&code<=122||65<=code&&code<=90)return"ident";if(49<=code&&code<=57)return"number";return"else"}var pathStateMachine={beforePath:{ws:["beforePath"],ident:["inIdent","append"],"[":["beforeElement"],eof:["afterPath"]},inPath:{ws:["inPath"],".":["beforeIdent"],"[":["beforeElement"],eof:["afterPath"]},beforeIdent:{ws:["beforeIdent"],ident:["inIdent","append"]},inIdent:{ident:["inIdent","append"],0:["inIdent","append"],number:["inIdent","append"],ws:["inPath","push"],".":["beforeIdent","push"],"[":["beforeElement","push"],eof:["afterPath","push"]},beforeElement:{ws:["beforeElement"],0:["afterZero","append"],number:["inIndex","append"],"'":["inSingleQuote","append",""],'"':["inDoubleQuote","append",""]},afterZero:{ws:["afterElement","push"],"]":["inPath","push"]},inIndex:{0:["inIndex","append"],number:["inIndex","append"],ws:["afterElement"],"]":["inPath","push"]},inSingleQuote:{"'":["afterElement"],eof:["error"],"else":["inSingleQuote","append"]},inDoubleQuote:{'"':["afterElement"],eof:["error"],"else":["inDoubleQuote","append"]},afterElement:{ws:["afterElement"],"]":["inPath","push"]}};function noop(){}function parsePath(path){var keys=[];var index=-1;var c,newChar,key,type,transition,action,typeMap,mode="beforePath";var actions={push:function(){if(key===undefined)return;keys.push(key);key=undefined},append:function(){if(key===undefined)key=newChar;else key+=newChar}};function maybeUnescapeQuote(){if(index>=path.length)return;var nextChar=path[index+1];if(mode=="inSingleQuote"&&nextChar=="'"||mode=="inDoubleQuote"&&nextChar=='"'){index++;newChar=nextChar;actions.append();return true}}while(mode){index++;c=path[index];if(c=="\\"&&maybeUnescapeQuote(mode))continue;type=getPathCharType(c);typeMap=pathStateMachine[mode];transition=typeMap[type]||typeMap["else"]||"error";if(transition=="error")return;mode=transition[0];action=actions[transition[1]]||noop;newChar=transition[2]===undefined?c:transition[2];action();if(mode==="afterPath"){return keys}}return}function isIdent(s){return identRegExp.test(s)}var constructorIsPrivate={};function Path(parts,privateToken){if(privateToken!==constructorIsPrivate)throw Error("Use Path.get to retrieve path objects");for(var i=0;i<parts.length;i++){this.push(String(parts[i]))}if(hasEval&&this.length){this.getValueFrom=this.compiledGetValueFromFn()}}var pathCache={};function getPath(pathString){if(pathString instanceof Path)return pathString;if(pathString==null||pathString.length==0)pathString="";if(typeof pathString!="string"){if(isIndex(pathString.length)){return new Path(pathString,constructorIsPrivate)}pathString=String(pathString)}var path=pathCache[pathString];if(path)return path;var parts=parsePath(pathString);if(!parts)return invalidPath;var path=new Path(parts,constructorIsPrivate);pathCache[pathString]=path;return path}Path.get=getPath;function formatAccessor(key){if(isIndex(key)){return"["+key+"]"}else{return'["'+key.replace(/"/g,'\\"')+'"]'}}Path.prototype=createObject({__proto__:[],valid:true,toString:function(){var pathString="";for(var i=0;i<this.length;i++){var key=this[i];if(isIdent(key)){pathString+=i?"."+key:key}else{pathString+=formatAccessor(key)}}return pathString},getValueFrom:function(obj,directObserver){for(var i=0;i<this.length;i++){if(obj==null)return;obj=obj[this[i]]}return obj},iterateObjects:function(obj,observe){for(var i=0;i<this.length;i++){if(i)obj=obj[this[i-1]];if(!isObject(obj))return;observe(obj,this[i])}},compiledGetValueFromFn:function(){var str="";var pathString="obj";str+="if (obj != null";var i=0;var key;for(;i<this.length-1;i++){key=this[i];pathString+=isIdent(key)?"."+key:formatAccessor(key);str+=" &&\n     "+pathString+" != null"}str+=")\n";var key=this[i];pathString+=isIdent(key)?"."+key:formatAccessor(key);str+="  return "+pathString+";\nelse\n  return undefined;";return new Function("obj",str)},setValueFrom:function(obj,value){if(!this.length)return false;for(var i=0;i<this.length-1;i++){if(!isObject(obj))return false;obj=obj[this[i]]}if(!isObject(obj))return false;obj[this[i]]=value;return true}});var invalidPath=new Path("",constructorIsPrivate);invalidPath.valid=false;invalidPath.getValueFrom=invalidPath.setValueFrom=function(){};var MAX_DIRTY_CHECK_CYCLES=1e3;function dirtyCheck(observer){var cycles=0;while(cycles<MAX_DIRTY_CHECK_CYCLES&&observer.check_()){cycles++}if(testingExposeCycleCount)global.dirtyCheckCycleCount=cycles;return cycles>0}function objectIsEmpty(object){for(var prop in object)return false;return true}function diffIsEmpty(diff){return objectIsEmpty(diff.added)&&objectIsEmpty(diff.removed)&&objectIsEmpty(diff.changed)}function diffObjectFromOldObject(object,oldObject){var added={};var removed={};var changed={};for(var prop in oldObject){var newValue=object[prop];if(newValue!==undefined&&newValue===oldObject[prop])continue;if(!(prop in object)){removed[prop]=undefined;continue}if(newValue!==oldObject[prop])changed[prop]=newValue}for(var prop in object){if(prop in oldObject)continue;added[prop]=object[prop]}if(Array.isArray(object)&&object.length!==oldObject.length)changed.length=object.length;return{added:added,removed:removed,changed:changed}}var eomTasks=[];function runEOMTasks(){if(!eomTasks.length)return false;for(var i=0;i<eomTasks.length;i++){eomTasks[i]()}eomTasks.length=0;return true}var runEOM=hasObserve?function(){return function(fn){return Promise.resolve().then(fn)}}():function(){return function(fn){eomTasks.push(fn)}}();var observedObjectCache=[];function newObservedObject(){var observer;var object;var discardRecords=false;var first=true;function callback(records){if(observer&&observer.state_===OPENED&&!discardRecords)observer.check_(records)}return{open:function(obs){if(observer)throw Error("ObservedObject in use");if(!first)Object.deliverChangeRecords(callback);observer=obs;first=false},observe:function(obj,arrayObserve){object=obj;if(arrayObserve)Array.observe(object,callback);else Object.observe(object,callback)},deliver:function(discard){discardRecords=discard;Object.deliverChangeRecords(callback);discardRecords=false},close:function(){observer=undefined;Object.unobserve(object,callback);observedObjectCache.push(this)}}}function getObservedObject(observer,object,arrayObserve){var dir=observedObjectCache.pop()||newObservedObject();dir.open(observer);dir.observe(object,arrayObserve);return dir}var observedSetCache=[];function newObservedSet(){var observerCount=0;var observers=[];var objects=[];var rootObj;var rootObjProps;function observe(obj,prop){if(!obj)return;if(obj===rootObj)rootObjProps[prop]=true;if(objects.indexOf(obj)<0){objects.push(obj);Object.observe(obj,callback)}observe(Object.getPrototypeOf(obj),prop)}function allRootObjNonObservedProps(recs){for(var i=0;i<recs.length;i++){var rec=recs[i];if(rec.object!==rootObj||rootObjProps[rec.name]||rec.type==="setPrototype"){return false}}return true}function callback(recs){if(allRootObjNonObservedProps(recs))return;var observer;for(var i=0;i<observers.length;i++){observer=observers[i];if(observer.state_==OPENED){observer.iterateObjects_(observe)}}for(var i=0;i<observers.length;i++){observer=observers[i];if(observer.state_==OPENED){observer.check_()}}}var record={objects:objects,get rootObject(){return rootObj},set rootObject(value){rootObj=value;rootObjProps={}},open:function(obs,object){observers.push(obs);observerCount++;obs.iterateObjects_(observe)},close:function(obs){observerCount--;if(observerCount>0){return}for(var i=0;i<objects.length;i++){Object.unobserve(objects[i],callback);Observer.unobservedCount++}observers.length=0;objects.length=0;rootObj=undefined;rootObjProps=undefined;observedSetCache.push(this);if(lastObservedSet===this)lastObservedSet=null}};return record}var lastObservedSet;function getObservedSet(observer,obj){if(!lastObservedSet||lastObservedSet.rootObject!==obj){lastObservedSet=observedSetCache.pop()||newObservedSet();lastObservedSet.rootObject=obj}lastObservedSet.open(observer,obj);return lastObservedSet}var UNOPENED=0;var OPENED=1;var CLOSED=2;var RESETTING=3;var nextObserverId=1;function Observer(){this.state_=UNOPENED;this.callback_=undefined;this.target_=undefined;this.directObserver_=undefined;this.value_=undefined;this.id_=nextObserverId++}Observer.prototype={open:function(callback,target){if(this.state_!=UNOPENED)throw Error("Observer has already been opened.");addToAll(this);this.callback_=callback;this.target_=target;this.connect_();this.state_=OPENED;return this.value_},close:function(){if(this.state_!=OPENED)return;removeFromAll(this);this.disconnect_();this.value_=undefined;this.callback_=undefined;this.target_=undefined;this.state_=CLOSED},deliver:function(){if(this.state_!=OPENED)return;dirtyCheck(this)},report_:function(changes){try{this.callback_.apply(this.target_,changes)}catch(ex){Observer._errorThrownDuringCallback=true;console.error("Exception caught during observer callback: "+(ex.stack||ex))}},discardChanges:function(){this.check_(undefined,true);return this.value_}};var collectObservers=!hasObserve;var allObservers;Observer._allObserversCount=0;if(collectObservers){allObservers=[]}function addToAll(observer){Observer._allObserversCount++;if(!collectObservers)return;allObservers.push(observer)}function removeFromAll(observer){Observer._allObserversCount--}var runningMicrotaskCheckpoint=false;global.Platform=global.Platform||{};global.Platform.performMicrotaskCheckpoint=function(){if(runningMicrotaskCheckpoint)return;if(!collectObservers)return;runningMicrotaskCheckpoint=true;var cycles=0;var anyChanged,toCheck;do{cycles++;toCheck=allObservers;allObservers=[];anyChanged=false;for(var i=0;i<toCheck.length;i++){var observer=toCheck[i];if(observer.state_!=OPENED)continue;if(observer.check_())anyChanged=true;allObservers.push(observer)}if(runEOMTasks())anyChanged=true}while(cycles<MAX_DIRTY_CHECK_CYCLES&&anyChanged);if(testingExposeCycleCount)global.dirtyCheckCycleCount=cycles;runningMicrotaskCheckpoint=false};if(collectObservers){global.Platform.clearObservers=function(){allObservers=[]}}function ObjectObserver(object){Observer.call(this);this.value_=object;this.oldObject_=undefined}ObjectObserver.prototype=createObject({__proto__:Observer.prototype,arrayObserve:false,connect_:function(callback,target){if(hasObserve){this.directObserver_=getObservedObject(this,this.value_,this.arrayObserve)}else{this.oldObject_=this.copyObject(this.value_)}},copyObject:function(object){var copy=Array.isArray(object)?[]:{};for(var prop in object){copy[prop]=object[prop]}if(Array.isArray(object))copy.length=object.length;return copy},check_:function(changeRecords,skipChanges){var diff;var oldValues;if(hasObserve){if(!changeRecords)return false;oldValues={};diff=diffObjectFromChangeRecords(this.value_,changeRecords,oldValues)}else{oldValues=this.oldObject_;diff=diffObjectFromOldObject(this.value_,this.oldObject_)}if(diffIsEmpty(diff))return false;if(!hasObserve)this.oldObject_=this.copyObject(this.value_);this.report_([diff.added||{},diff.removed||{},diff.changed||{},function(property){return oldValues[property]}]);return true},disconnect_:function(){if(hasObserve){this.directObserver_.close();this.directObserver_=undefined}else{this.oldObject_=undefined}},deliver:function(){if(this.state_!=OPENED)return;if(hasObserve)this.directObserver_.deliver(false);else dirtyCheck(this)},discardChanges:function(){if(this.directObserver_)this.directObserver_.deliver(true);else this.oldObject_=this.copyObject(this.value_);return this.value_}});function ArrayObserver(array){if(!Array.isArray(array))throw Error("Provided object is not an Array");ObjectObserver.call(this,array)}ArrayObserver.prototype=createObject({__proto__:ObjectObserver.prototype,arrayObserve:true,copyObject:function(arr){return arr.slice()},check_:function(changeRecords){var splices;if(hasObserve){if(!changeRecords)return false;splices=projectArraySplices(this.value_,changeRecords)}else{splices=calcSplices(this.value_,0,this.value_.length,this.oldObject_,0,this.oldObject_.length)}if(!splices||!splices.length)return false;if(!hasObserve)this.oldObject_=this.copyObject(this.value_);this.report_([splices]);return true}});ArrayObserver.applySplices=function(previous,current,splices){splices.forEach(function(splice){var spliceArgs=[splice.index,splice.removed.length];var addIndex=splice.index;while(addIndex<splice.index+splice.addedCount){spliceArgs.push(current[addIndex]);addIndex++}Array.prototype.splice.apply(previous,spliceArgs)})};function PathObserver(object,path){Observer.call(this);this.object_=object;this.path_=getPath(path);this.directObserver_=undefined}PathObserver.prototype=createObject({__proto__:Observer.prototype,get path(){return this.path_},connect_:function(){if(hasObserve)this.directObserver_=getObservedSet(this,this.object_);this.check_(undefined,true)},disconnect_:function(){this.value_=undefined;if(this.directObserver_){this.directObserver_.close(this);this.directObserver_=undefined}},iterateObjects_:function(observe){this.path_.iterateObjects(this.object_,observe)},check_:function(changeRecords,skipChanges){var oldValue=this.value_;this.value_=this.path_.getValueFrom(this.object_);if(skipChanges||areSameValue(this.value_,oldValue))return false;this.report_([this.value_,oldValue,this]);return true},setValue:function(newValue){if(this.path_)this.path_.setValueFrom(this.object_,newValue)}});function CompoundObserver(reportChangesOnOpen){Observer.call(this);this.reportChangesOnOpen_=reportChangesOnOpen;this.value_=[];this.directObserver_=undefined;this.observed_=[]}var observerSentinel={};CompoundObserver.prototype=createObject({__proto__:Observer.prototype,connect_:function(){if(hasObserve){var object;var needsDirectObserver=false;for(var i=0;i<this.observed_.length;i+=2){object=this.observed_[i];if(object!==observerSentinel){needsDirectObserver=true;break}}if(needsDirectObserver)this.directObserver_=getObservedSet(this,object)}this.check_(undefined,!this.reportChangesOnOpen_)},disconnect_:function(){for(var i=0;i<this.observed_.length;i+=2){if(this.observed_[i]===observerSentinel)this.observed_[i+1].close()}this.observed_.length=0;this.value_.length=0;if(this.directObserver_){this.directObserver_.close(this);this.directObserver_=undefined}},addPath:function(object,path){if(this.state_!=UNOPENED&&this.state_!=RESETTING)throw Error("Cannot add paths once started.");var path=getPath(path);this.observed_.push(object,path);if(!this.reportChangesOnOpen_)return;var index=this.observed_.length/2-1;this.value_[index]=path.getValueFrom(object)},addObserver:function(observer){if(this.state_!=UNOPENED&&this.state_!=RESETTING)throw Error("Cannot add observers once started.");this.observed_.push(observerSentinel,observer);if(!this.reportChangesOnOpen_)return;var index=this.observed_.length/2-1;this.value_[index]=observer.open(this.deliver,this)},startReset:function(){if(this.state_!=OPENED)throw Error("Can only reset while open");this.state_=RESETTING;this.disconnect_()},finishReset:function(){if(this.state_!=RESETTING)throw Error("Can only finishReset after startReset");this.state_=OPENED;this.connect_();return this.value_},iterateObjects_:function(observe){var object;for(var i=0;i<this.observed_.length;i+=2){object=this.observed_[i];if(object!==observerSentinel)this.observed_[i+1].iterateObjects(object,observe)}},check_:function(changeRecords,skipChanges){var oldValues;for(var i=0;i<this.observed_.length;i+=2){var object=this.observed_[i];var path=this.observed_[i+1];var value;if(object===observerSentinel){var observable=path;value=this.state_===UNOPENED?observable.open(this.deliver,this):observable.discardChanges()}else{value=path.getValueFrom(object)}if(skipChanges){this.value_[i/2]=value;continue}if(areSameValue(value,this.value_[i/2]))continue;oldValues=oldValues||[];oldValues[i/2]=this.value_[i/2];this.value_[i/2]=value}if(!oldValues)return false;this.report_([this.value_,oldValues,this.observed_]);return true}});function identFn(value){return value}function ObserverTransform(observable,getValueFn,setValueFn,dontPassThroughSet){this.callback_=undefined;this.target_=undefined;this.value_=undefined;this.observable_=observable;this.getValueFn_=getValueFn||identFn;this.setValueFn_=setValueFn||identFn;this.dontPassThroughSet_=dontPassThroughSet}ObserverTransform.prototype={open:function(callback,target){this.callback_=callback;this.target_=target;this.value_=this.getValueFn_(this.observable_.open(this.observedCallback_,this));return this.value_},observedCallback_:function(value){value=this.getValueFn_(value);if(areSameValue(value,this.value_))return;var oldValue=this.value_;this.value_=value;this.callback_.call(this.target_,this.value_,oldValue)},discardChanges:function(){this.value_=this.getValueFn_(this.observable_.discardChanges());return this.value_},deliver:function(){return this.observable_.deliver()},setValue:function(value){value=this.setValueFn_(value);if(!this.dontPassThroughSet_&&this.observable_.setValue)return this.observable_.setValue(value)},close:function(){if(this.observable_)this.observable_.close();this.callback_=undefined;this.target_=undefined;this.observable_=undefined;this.value_=undefined;this.getValueFn_=undefined;this.setValueFn_=undefined}};var expectedRecordTypes={add:true,update:true,"delete":true};function diffObjectFromChangeRecords(object,changeRecords,oldValues){var added={};var removed={};for(var i=0;i<changeRecords.length;i++){var record=changeRecords[i];if(!expectedRecordTypes[record.type]){console.error("Unknown changeRecord type: "+record.type);console.error(record);continue}if(!(record.name in oldValues))oldValues[record.name]=record.oldValue;if(record.type=="update")continue;if(record.type=="add"){if(record.name in removed)delete removed[record.name];else added[record.name]=true;continue}if(record.name in added){delete added[record.name];delete oldValues[record.name]}else{removed[record.name]=true}}for(var prop in added)added[prop]=object[prop];for(var prop in removed)removed[prop]=undefined;var changed={};for(var prop in oldValues){if(prop in added||prop in removed)continue;var newValue=object[prop];if(oldValues[prop]!==newValue)changed[prop]=newValue}return{added:added,removed:removed,changed:changed}}function newSplice(index,removed,addedCount){return{index:index,removed:removed,addedCount:addedCount}}var EDIT_LEAVE=0;var EDIT_UPDATE=1;var EDIT_ADD=2;var EDIT_DELETE=3;function ArraySplice(){}ArraySplice.prototype={calcEditDistances:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var rowCount=oldEnd-oldStart+1;var columnCount=currentEnd-currentStart+1;var distances=new Array(rowCount);for(var i=0;i<rowCount;i++){distances[i]=new Array(columnCount);distances[i][0]=i}for(var j=0;j<columnCount;j++)distances[0][j]=j;for(var i=1;i<rowCount;i++){for(var j=1;j<columnCount;j++){if(this.equals(current[currentStart+j-1],old[oldStart+i-1]))distances[i][j]=distances[i-1][j-1];else{var north=distances[i-1][j]+1;var west=distances[i][j-1]+1;distances[i][j]=north<west?north:west}}}return distances},spliceOperationsFromEditDistances:function(distances){var i=distances.length-1;var j=distances[0].length-1;var current=distances[i][j];var edits=[];while(i>0||j>0){if(i==0){edits.push(EDIT_ADD);j--;continue}if(j==0){edits.push(EDIT_DELETE);i--;continue}var northWest=distances[i-1][j-1];var west=distances[i-1][j];var north=distances[i][j-1];var min;if(west<north)min=west<northWest?west:northWest;else min=north<northWest?north:northWest;if(min==northWest){if(northWest==current){edits.push(EDIT_LEAVE)}else{edits.push(EDIT_UPDATE);current=northWest}i--;j--}else if(min==west){edits.push(EDIT_DELETE);i--;current=west}else{edits.push(EDIT_ADD);j--;current=north}}edits.reverse();return edits},calcSplices:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var prefixCount=0;var suffixCount=0;var minLength=Math.min(currentEnd-currentStart,oldEnd-oldStart);if(currentStart==0&&oldStart==0)prefixCount=this.sharedPrefix(current,old,minLength);if(currentEnd==current.length&&oldEnd==old.length)suffixCount=this.sharedSuffix(current,old,minLength-prefixCount);currentStart+=prefixCount;oldStart+=prefixCount;currentEnd-=suffixCount;oldEnd-=suffixCount;if(currentEnd-currentStart==0&&oldEnd-oldStart==0)return[];if(currentStart==currentEnd){var splice=newSplice(currentStart,[],0);while(oldStart<oldEnd)splice.removed.push(old[oldStart++]);return[splice]}else if(oldStart==oldEnd)return[newSplice(currentStart,[],currentEnd-currentStart)];var ops=this.spliceOperationsFromEditDistances(this.calcEditDistances(current,currentStart,currentEnd,old,oldStart,oldEnd));var splice=undefined;var splices=[];var index=currentStart;var oldIndex=oldStart;for(var i=0;i<ops.length;i++){switch(ops[i]){case EDIT_LEAVE:if(splice){splices.push(splice);splice=undefined}index++;oldIndex++;break;case EDIT_UPDATE:if(!splice)splice=newSplice(index,[],0);splice.addedCount++;index++;splice.removed.push(old[oldIndex]);oldIndex++;break;case EDIT_ADD:if(!splice)splice=newSplice(index,[],0);splice.addedCount++;index++;break;case EDIT_DELETE:if(!splice)splice=newSplice(index,[],0);splice.removed.push(old[oldIndex]);oldIndex++;break}}if(splice){splices.push(splice)}return splices},sharedPrefix:function(current,old,searchLength){for(var i=0;i<searchLength;i++)if(!this.equals(current[i],old[i]))return i;return searchLength},sharedSuffix:function(current,old,searchLength){var index1=current.length;var index2=old.length;var count=0;while(count<searchLength&&this.equals(current[--index1],old[--index2]))count++;return count},calculateSplices:function(current,previous){return this.calcSplices(current,0,current.length,previous,0,previous.length)},equals:function(currentValue,previousValue){return currentValue===previousValue}};var arraySplice=new ArraySplice;function calcSplices(current,currentStart,currentEnd,old,oldStart,oldEnd){return arraySplice.calcSplices(current,currentStart,currentEnd,old,oldStart,oldEnd)}function intersect(start1,end1,start2,end2){if(end1<start2||end2<start1)return-1;if(end1==start2||end2==start1)return 0;if(start1<start2){if(end1<end2)return end1-start2;else return end2-start2}else{if(end2<end1)return end2-start1;else return end1-start1}}function mergeSplice(splices,index,removed,addedCount){var splice=newSplice(index,removed,addedCount);var inserted=false;var insertionOffset=0;for(var i=0;i<splices.length;i++){var current=splices[i];current.index+=insertionOffset;if(inserted)continue;var intersectCount=intersect(splice.index,splice.index+splice.removed.length,current.index,current.index+current.addedCount);if(intersectCount>=0){splices.splice(i,1);i--;insertionOffset-=current.addedCount-current.removed.length;splice.addedCount+=current.addedCount-intersectCount;var deleteCount=splice.removed.length+current.removed.length-intersectCount;if(!splice.addedCount&&!deleteCount){inserted=true}else{var removed=current.removed;if(splice.index<current.index){var prepend=splice.removed.slice(0,current.index-splice.index);Array.prototype.push.apply(prepend,removed);removed=prepend}if(splice.index+splice.removed.length>current.index+current.addedCount){var append=splice.removed.slice(current.index+current.addedCount-splice.index);Array.prototype.push.apply(removed,append)}splice.removed=removed;if(current.index<splice.index){splice.index=current.index}}}else if(splice.index<current.index){inserted=true;splices.splice(i,0,splice);i++;var offset=splice.addedCount-splice.removed.length;current.index+=offset;insertionOffset+=offset}}if(!inserted)splices.push(splice)}function createInitialSplices(array,changeRecords){var splices=[];for(var i=0;i<changeRecords.length;i++){var record=changeRecords[i];switch(record.type){case"splice":mergeSplice(splices,record.index,record.removed.slice(),record.addedCount);break;case"add":case"update":case"delete":if(!isIndex(record.name))continue;var index=toNumber(record.name);if(index<0)continue;mergeSplice(splices,index,[record.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(record));break}}return splices}function projectArraySplices(array,changeRecords){var splices=[];createInitialSplices(array,changeRecords).forEach(function(splice){if(splice.addedCount==1&&splice.removed.length==1){if(splice.removed[0]!==array[splice.index])splices.push(splice);return}splices=splices.concat(calcSplices(array,splice.index,splice.index+splice.addedCount,splice.removed,0,splice.removed.length))});return splices}var expose=global;if(typeof exports!=="undefined"&&!exports.nodeType){if(typeof module!=="undefined"&&module.exports){exports=module.exports}expose=exports}expose.Observer=Observer;expose.Observer.runEOM_=runEOM;expose.Observer.observerSentinel_=observerSentinel;expose.Observer.hasObjectObserve=hasObserve;expose.ArrayObserver=ArrayObserver;expose.ArrayObserver.calculateSplices=function(current,previous){return arraySplice.calculateSplices(current,previous)};expose.ArraySplice=ArraySplice;expose.ObjectObserver=ObjectObserver;expose.PathObserver=PathObserver;expose.CompoundObserver=CompoundObserver;expose.Path=Path;expose.ObserverTransform=ObserverTransform})(typeof global!=="undefined"&&global&&typeof module!=="undefined"&&module?global:this||window);(function(global){"use strict";var filter=Array.prototype.filter.call.bind(Array.prototype.filter);function getTreeScope(node){while(node.parentNode){node=node.parentNode}return typeof node.getElementById==="function"?node:null}Node.prototype.bind=function(name,observable){console.error("Unhandled binding to Node: ",this,name,observable)};Node.prototype.bindFinished=function(){};function updateBindings(node,name,binding){var bindings=node.bindings_;if(!bindings)bindings=node.bindings_={};if(bindings[name])binding[name].close();return bindings[name]=binding}function returnBinding(node,name,binding){return binding}function sanitizeValue(value){return value==null?"":value}function updateText(node,value){node.data=sanitizeValue(value)}function textBinding(node){return function(value){return updateText(node,value)}}var maybeUpdateBindings=returnBinding;Object.defineProperty(Platform,"enableBindingsReflection",{get:function(){return maybeUpdateBindings===updateBindings},set:function(enable){maybeUpdateBindings=enable?updateBindings:returnBinding;return enable},configurable:true});Text.prototype.bind=function(name,value,oneTime){if(name!=="textContent")return Node.prototype.bind.call(this,name,value,oneTime);if(oneTime)return updateText(this,value);var observable=value;updateText(this,observable.open(textBinding(this)));return maybeUpdateBindings(this,name,observable)};function updateAttribute(el,name,conditional,value){if(conditional){if(value)el.setAttribute(name,"");else el.removeAttribute(name);return}el.setAttribute(name,sanitizeValue(value))}function attributeBinding(el,name,conditional){return function(value){updateAttribute(el,name,conditional,value)}}Element.prototype.bind=function(name,value,oneTime){var conditional=name[name.length-1]=="?";if(conditional){this.removeAttribute(name);name=name.slice(0,-1)}if(oneTime)return updateAttribute(this,name,conditional,value);var observable=value;updateAttribute(this,name,conditional,observable.open(attributeBinding(this,name,conditional)));return maybeUpdateBindings(this,name,observable)};var checkboxEventType;(function(){var div=document.createElement("div");var checkbox=div.appendChild(document.createElement("input"));checkbox.setAttribute("type","checkbox");var first;var count=0;checkbox.addEventListener("click",function(e){count++;first=first||"click"});checkbox.addEventListener("change",function(){count++;first=first||"change"});var event=document.createEvent("MouseEvent");event.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);checkbox.dispatchEvent(event);checkboxEventType=count==1?"change":first})();function getEventForInputType(element){switch(element.type){case"checkbox":return checkboxEventType;case"radio":case"select-multiple":case"select-one":return"change";case"range":if(/Trident|MSIE/.test(navigator.userAgent))return"change";default:return"input"}}function updateInput(input,property,value,santizeFn){input[property]=(santizeFn||sanitizeValue)(value)}function inputBinding(input,property,santizeFn){return function(value){return updateInput(input,property,value,santizeFn)}}function noop(){}function bindInputEvent(input,property,observable,postEventFn){var eventType=getEventForInputType(input);function eventHandler(){var isNum=property=="value"&&input.type=="number";observable.setValue(isNum?input.valueAsNumber:input[property]);observable.discardChanges();(postEventFn||noop)(input);Platform.performMicrotaskCheckpoint()}input.addEventListener(eventType,eventHandler);return{close:function(){input.removeEventListener(eventType,eventHandler);observable.close()},observable_:observable}}function booleanSanitize(value){return Boolean(value)}function getAssociatedRadioButtons(element){if(element.form){return filter(element.form.elements,function(el){return el!=element&&el.tagName=="INPUT"&&el.type=="radio"&&el.name==element.name})}else{var treeScope=getTreeScope(element);if(!treeScope)return[];var radios=treeScope.querySelectorAll('input[type="radio"][name="'+element.name+'"]');return filter(radios,function(el){return el!=element&&!el.form})}}function checkedPostEvent(input){if(input.tagName==="INPUT"&&input.type==="radio"){getAssociatedRadioButtons(input).forEach(function(radio){var checkedBinding=radio.bindings_.checked;if(checkedBinding){checkedBinding.observable_.setValue(false)}})}}HTMLInputElement.prototype.bind=function(name,value,oneTime){if(name!=="value"&&name!=="checked")return HTMLElement.prototype.bind.call(this,name,value,oneTime);this.removeAttribute(name);var sanitizeFn=name=="checked"?booleanSanitize:sanitizeValue;var postEventFn=name=="checked"?checkedPostEvent:noop;if(oneTime)return updateInput(this,name,value,sanitizeFn);var observable=value;var binding=bindInputEvent(this,name,observable,postEventFn);updateInput(this,name,observable.open(inputBinding(this,name,sanitizeFn)),sanitizeFn);return updateBindings(this,name,binding)};HTMLTextAreaElement.prototype.bind=function(name,value,oneTime){if(name!=="value")return HTMLElement.prototype.bind.call(this,name,value,oneTime);this.removeAttribute("value");if(oneTime)return updateInput(this,"value",value);var observable=value;var binding=bindInputEvent(this,"value",observable);updateInput(this,"value",observable.open(inputBinding(this,"value",sanitizeValue)));return maybeUpdateBindings(this,name,binding)};function updateOption(option,value){var parentNode=option.parentNode;var select;var selectBinding;var oldValue;if(parentNode instanceof HTMLSelectElement&&parentNode.bindings_&&parentNode.bindings_.value){select=parentNode;selectBinding=select.bindings_.value;oldValue=select.value}option.value=sanitizeValue(value);if(select&&select.value!=oldValue){selectBinding.observable_.setValue(select.value);selectBinding.observable_.discardChanges();Platform.performMicrotaskCheckpoint()}}function optionBinding(option){return function(value){updateOption(option,value)}}HTMLOptionElement.prototype.bind=function(name,value,oneTime){if(name!=="value")return HTMLElement.prototype.bind.call(this,name,value,oneTime);this.removeAttribute("value");if(oneTime)return updateOption(this,value);var observable=value;var binding=bindInputEvent(this,"value",observable);updateOption(this,observable.open(optionBinding(this)));return maybeUpdateBindings(this,name,binding)};HTMLSelectElement.prototype.bind=function(name,value,oneTime){if(name==="selectedindex")name="selectedIndex";if(name!=="selectedIndex"&&name!=="value")return HTMLElement.prototype.bind.call(this,name,value,oneTime);this.removeAttribute(name);if(oneTime)return updateInput(this,name,value);
var observable=value;var binding=bindInputEvent(this,name,observable);updateInput(this,name,observable.open(inputBinding(this,name)));return updateBindings(this,name,binding)}})(this);(function(global){"use strict";function assert(v){if(!v)throw new Error("Assertion failed")}var forEach=Array.prototype.forEach.call.bind(Array.prototype.forEach);function getFragmentRoot(node){var p;while(p=node.parentNode){node=p}return node}function searchRefId(node,id){if(!id)return;var ref;var selector="#"+id;while(!ref){node=getFragmentRoot(node);if(node.protoContent_)ref=node.protoContent_.querySelector(selector);else if(node.getElementById)ref=node.getElementById(id);if(ref||!node.templateCreator_)break;node=node.templateCreator_}return ref}function getInstanceRoot(node){while(node.parentNode){node=node.parentNode}return node.templateCreator_?node:null}var Map;if(global.Map&&typeof global.Map.prototype.forEach==="function"){Map=global.Map}else{Map=function(){this.keys=[];this.values=[]};Map.prototype={set:function(key,value){var index=this.keys.indexOf(key);if(index<0){this.keys.push(key);this.values.push(value)}else{this.values[index]=value}},get:function(key){var index=this.keys.indexOf(key);if(index<0)return;return this.values[index]},"delete":function(key,value){var index=this.keys.indexOf(key);if(index<0)return false;this.keys.splice(index,1);this.values.splice(index,1);return true},forEach:function(f,opt_this){for(var i=0;i<this.keys.length;i++)f.call(opt_this||this,this.values[i],this.keys[i],this)}}}var createObject="__proto__"in{}?function(obj){return obj}:function(obj){var proto=obj.__proto__;if(!proto)return obj;var newObject=Object.create(proto);Object.getOwnPropertyNames(obj).forEach(function(name){Object.defineProperty(newObject,name,Object.getOwnPropertyDescriptor(obj,name))});return newObject};if(typeof document.contains!="function"){Document.prototype.contains=function(node){if(node===this||node.parentNode===this)return true;return this.documentElement.contains(node)}}var BIND="bind";var REPEAT="repeat";var IF="if";var templateAttributeDirectives={template:true,repeat:true,bind:true,ref:true,"if":true};var semanticTemplateElements={THEAD:true,TBODY:true,TFOOT:true,TH:true,TR:true,TD:true,COLGROUP:true,COL:true,CAPTION:true,OPTION:true,OPTGROUP:true};var hasTemplateElement=typeof HTMLTemplateElement!=="undefined";if(hasTemplateElement){(function(){var t=document.createElement("template");var d=t.content.ownerDocument;var html=d.appendChild(d.createElement("html"));var head=html.appendChild(d.createElement("head"));var base=d.createElement("base");base.href=document.baseURI;head.appendChild(base)})()}var allTemplatesSelectors="template, "+Object.keys(semanticTemplateElements).map(function(tagName){return tagName.toLowerCase()+"[template]"}).join(", ");function isSVGTemplate(el){return el.tagName=="template"&&el.namespaceURI=="http://www.w3.org/2000/svg"}function isHTMLTemplate(el){return el.tagName=="TEMPLATE"&&el.namespaceURI=="http://www.w3.org/1999/xhtml"}function isAttributeTemplate(el){return Boolean(semanticTemplateElements[el.tagName]&&el.hasAttribute("template"))}function isTemplate(el){if(el.isTemplate_===undefined)el.isTemplate_=el.tagName=="TEMPLATE"||isAttributeTemplate(el);return el.isTemplate_}document.addEventListener("DOMContentLoaded",function(e){bootstrapTemplatesRecursivelyFrom(document);Platform.performMicrotaskCheckpoint()},false);function forAllTemplatesFrom(node,fn){var subTemplates=node.querySelectorAll(allTemplatesSelectors);if(isTemplate(node))fn(node);forEach(subTemplates,fn)}function bootstrapTemplatesRecursivelyFrom(node){function bootstrap(template){if(!HTMLTemplateElement.decorate(template))bootstrapTemplatesRecursivelyFrom(template.content)}forAllTemplatesFrom(node,bootstrap)}if(!hasTemplateElement){global.HTMLTemplateElement=function(){throw TypeError("Illegal constructor")}}var hasProto="__proto__"in{};function mixin(to,from){Object.getOwnPropertyNames(from).forEach(function(name){Object.defineProperty(to,name,Object.getOwnPropertyDescriptor(from,name))})}function getOrCreateTemplateContentsOwner(template){var doc=template.ownerDocument;if(!doc.defaultView)return doc;var d=doc.templateContentsOwner_;if(!d){d=doc.implementation.createHTMLDocument("");while(d.lastChild){d.removeChild(d.lastChild)}doc.templateContentsOwner_=d}return d}function getTemplateStagingDocument(template){if(!template.stagingDocument_){var owner=template.ownerDocument;if(!owner.stagingDocument_){owner.stagingDocument_=owner.implementation.createHTMLDocument("");owner.stagingDocument_.isStagingDocument=true;var base=owner.stagingDocument_.createElement("base");base.href=document.baseURI;owner.stagingDocument_.head.appendChild(base);owner.stagingDocument_.stagingDocument_=owner.stagingDocument_}template.stagingDocument_=owner.stagingDocument_}return template.stagingDocument_}function extractTemplateFromAttributeTemplate(el){var template=el.ownerDocument.createElement("template");el.parentNode.insertBefore(template,el);var attribs=el.attributes;var count=attribs.length;while(count-->0){var attrib=attribs[count];if(templateAttributeDirectives[attrib.name]){if(attrib.name!=="template")template.setAttribute(attrib.name,attrib.value);el.removeAttribute(attrib.name)}}return template}function extractTemplateFromSVGTemplate(el){var template=el.ownerDocument.createElement("template");el.parentNode.insertBefore(template,el);var attribs=el.attributes;var count=attribs.length;while(count-->0){var attrib=attribs[count];template.setAttribute(attrib.name,attrib.value);el.removeAttribute(attrib.name)}el.parentNode.removeChild(el);return template}function liftNonNativeTemplateChildrenIntoContent(template,el,useRoot){var content=template.content;if(useRoot){content.appendChild(el);return}var child;while(child=el.firstChild){content.appendChild(child)}}var templateObserver;if(typeof MutationObserver=="function"){templateObserver=new MutationObserver(function(records){for(var i=0;i<records.length;i++){records[i].target.refChanged_()}})}HTMLTemplateElement.decorate=function(el,opt_instanceRef){if(el.templateIsDecorated_)return false;var templateElement=el;templateElement.templateIsDecorated_=true;var isNativeHTMLTemplate=isHTMLTemplate(templateElement)&&hasTemplateElement;var bootstrapContents=isNativeHTMLTemplate;var liftContents=!isNativeHTMLTemplate;var liftRoot=false;if(!isNativeHTMLTemplate){if(isAttributeTemplate(templateElement)){assert(!opt_instanceRef);templateElement=extractTemplateFromAttributeTemplate(el);templateElement.templateIsDecorated_=true;isNativeHTMLTemplate=hasTemplateElement;liftRoot=true}else if(isSVGTemplate(templateElement)){templateElement=extractTemplateFromSVGTemplate(el);templateElement.templateIsDecorated_=true;isNativeHTMLTemplate=hasTemplateElement}}if(!isNativeHTMLTemplate){fixTemplateElementPrototype(templateElement);var doc=getOrCreateTemplateContentsOwner(templateElement);templateElement.content_=doc.createDocumentFragment()}if(opt_instanceRef){templateElement.instanceRef_=opt_instanceRef}else if(liftContents){liftNonNativeTemplateChildrenIntoContent(templateElement,el,liftRoot)}else if(bootstrapContents){bootstrapTemplatesRecursivelyFrom(templateElement.content)}return true};HTMLTemplateElement.bootstrap=bootstrapTemplatesRecursivelyFrom;var htmlElement=global.HTMLUnknownElement||HTMLElement;var contentDescriptor={get:function(){return this.content_},enumerable:true,configurable:true};if(!hasTemplateElement){HTMLTemplateElement.prototype=Object.create(htmlElement.prototype);Object.defineProperty(HTMLTemplateElement.prototype,"content",contentDescriptor)}function fixTemplateElementPrototype(el){if(hasProto)el.__proto__=HTMLTemplateElement.prototype;else mixin(el,HTMLTemplateElement.prototype)}function ensureSetModelScheduled(template){if(!template.setModelFn_){template.setModelFn_=function(){template.setModelFnScheduled_=false;var map=getBindings(template,template.delegate_&&template.delegate_.prepareBinding);processBindings(template,map,template.model_)}}if(!template.setModelFnScheduled_){template.setModelFnScheduled_=true;Observer.runEOM_(template.setModelFn_)}}mixin(HTMLTemplateElement.prototype,{bind:function(name,value,oneTime){if(name!="ref")return Element.prototype.bind.call(this,name,value,oneTime);var self=this;var ref=oneTime?value:value.open(function(ref){self.setAttribute("ref",ref);self.refChanged_()});this.setAttribute("ref",ref);this.refChanged_();if(oneTime)return;if(!this.bindings_){this.bindings_={ref:value}}else{this.bindings_.ref=value}return value},processBindingDirectives_:function(directives){if(this.iterator_)this.iterator_.closeDeps();if(!directives.if&&!directives.bind&&!directives.repeat){if(this.iterator_){this.iterator_.close();this.iterator_=undefined}return}if(!this.iterator_){this.iterator_=new TemplateIterator(this)}this.iterator_.updateDependencies(directives,this.model_);if(templateObserver){templateObserver.observe(this,{attributes:true,attributeFilter:["ref"]})}return this.iterator_},createInstance:function(model,bindingDelegate,delegate_){if(bindingDelegate)delegate_=this.newDelegate_(bindingDelegate);else if(!delegate_)delegate_=this.delegate_;if(!this.refContent_)this.refContent_=this.ref_.content;var content=this.refContent_;if(content.firstChild===null)return emptyInstance;var map=getInstanceBindingMap(content,delegate_);var stagingDocument=getTemplateStagingDocument(this);var instance=stagingDocument.createDocumentFragment();instance.templateCreator_=this;instance.protoContent_=content;instance.bindings_=[];instance.terminator_=null;var instanceRecord=instance.templateInstance_={firstNode:null,lastNode:null,model:model};var i=0;var collectTerminator=false;for(var child=content.firstChild;child;child=child.nextSibling){if(child.nextSibling===null)collectTerminator=true;var clone=cloneAndBindInstance(child,instance,stagingDocument,map.children[i++],model,delegate_,instance.bindings_);clone.templateInstance_=instanceRecord;if(collectTerminator)instance.terminator_=clone}instanceRecord.firstNode=instance.firstChild;instanceRecord.lastNode=instance.lastChild;instance.templateCreator_=undefined;instance.protoContent_=undefined;return instance},get model(){return this.model_},set model(model){this.model_=model;ensureSetModelScheduled(this)},get bindingDelegate(){return this.delegate_&&this.delegate_.raw},refChanged_:function(){if(!this.iterator_||this.refContent_===this.ref_.content)return;this.refContent_=undefined;this.iterator_.valueChanged();this.iterator_.updateIteratedValue(this.iterator_.getUpdatedValue())},clear:function(){this.model_=undefined;this.delegate_=undefined;if(this.bindings_&&this.bindings_.ref)this.bindings_.ref.close();this.refContent_=undefined;if(!this.iterator_)return;this.iterator_.valueChanged();this.iterator_.close();this.iterator_=undefined},setDelegate_:function(delegate){this.delegate_=delegate;this.bindingMap_=undefined;if(this.iterator_){this.iterator_.instancePositionChangedFn_=undefined;this.iterator_.instanceModelFn_=undefined}},newDelegate_:function(bindingDelegate){if(!bindingDelegate)return;function delegateFn(name){var fn=bindingDelegate&&bindingDelegate[name];if(typeof fn!="function")return;return function(){return fn.apply(bindingDelegate,arguments)}}return{bindingMaps:{},raw:bindingDelegate,prepareBinding:delegateFn("prepareBinding"),prepareInstanceModel:delegateFn("prepareInstanceModel"),prepareInstancePositionChanged:delegateFn("prepareInstancePositionChanged")}},set bindingDelegate(bindingDelegate){if(this.delegate_){throw Error("Template must be cleared before a new bindingDelegate "+"can be assigned")}this.setDelegate_(this.newDelegate_(bindingDelegate))},get ref_(){var ref=searchRefId(this,this.getAttribute("ref"));if(!ref)ref=this.instanceRef_;if(!ref)return this;var nextRef=ref.ref_;return nextRef?nextRef:ref}});function parseMustaches(s,name,node,prepareBindingFn){if(!s||!s.length)return;var tokens;var length=s.length;var startIndex=0,lastIndex=0,endIndex=0;var onlyOneTime=true;while(lastIndex<length){var startIndex=s.indexOf("{{",lastIndex);var oneTimeStart=s.indexOf("[[",lastIndex);var oneTime=false;var terminator="}}";if(oneTimeStart>=0&&(startIndex<0||oneTimeStart<startIndex)){startIndex=oneTimeStart;oneTime=true;terminator="]]"}endIndex=startIndex<0?-1:s.indexOf(terminator,startIndex+2);if(endIndex<0){if(!tokens)return;tokens.push(s.slice(lastIndex));break}tokens=tokens||[];tokens.push(s.slice(lastIndex,startIndex));var pathString=s.slice(startIndex+2,endIndex).trim();tokens.push(oneTime);onlyOneTime=onlyOneTime&&oneTime;var delegateFn=prepareBindingFn&&prepareBindingFn(pathString,name,node);if(delegateFn==null){tokens.push(Path.get(pathString))}else{tokens.push(null)}tokens.push(delegateFn);lastIndex=endIndex+2}if(lastIndex===length)tokens.push("");tokens.hasOnePath=tokens.length===5;tokens.isSimplePath=tokens.hasOnePath&&tokens[0]==""&&tokens[4]=="";tokens.onlyOneTime=onlyOneTime;tokens.combinator=function(values){var newValue=tokens[0];for(var i=1;i<tokens.length;i+=4){var value=tokens.hasOnePath?values:values[(i-1)/4];if(value!==undefined)newValue+=value;newValue+=tokens[i+3]}return newValue};return tokens}function processOneTimeBinding(name,tokens,node,model){if(tokens.hasOnePath){var delegateFn=tokens[3];var value=delegateFn?delegateFn(model,node,true):tokens[2].getValueFrom(model);return tokens.isSimplePath?value:tokens.combinator(value)}var values=[];for(var i=1;i<tokens.length;i+=4){var delegateFn=tokens[i+2];values[(i-1)/4]=delegateFn?delegateFn(model,node):tokens[i+1].getValueFrom(model)}return tokens.combinator(values)}function processSinglePathBinding(name,tokens,node,model){var delegateFn=tokens[3];var observer=delegateFn?delegateFn(model,node,false):new PathObserver(model,tokens[2]);return tokens.isSimplePath?observer:new ObserverTransform(observer,tokens.combinator)}function processBinding(name,tokens,node,model){if(tokens.onlyOneTime)return processOneTimeBinding(name,tokens,node,model);if(tokens.hasOnePath)return processSinglePathBinding(name,tokens,node,model);var observer=new CompoundObserver;for(var i=1;i<tokens.length;i+=4){var oneTime=tokens[i];var delegateFn=tokens[i+2];if(delegateFn){var value=delegateFn(model,node,oneTime);if(oneTime)observer.addPath(value);else observer.addObserver(value);continue}var path=tokens[i+1];if(oneTime)observer.addPath(path.getValueFrom(model));else observer.addPath(model,path)}return new ObserverTransform(observer,tokens.combinator)}function processBindings(node,bindings,model,instanceBindings){for(var i=0;i<bindings.length;i+=2){var name=bindings[i];var tokens=bindings[i+1];var value=processBinding(name,tokens,node,model);var binding=node.bind(name,value,tokens.onlyOneTime);if(binding&&instanceBindings)instanceBindings.push(binding)}node.bindFinished();if(!bindings.isTemplate)return;node.model_=model;var iter=node.processBindingDirectives_(bindings);if(instanceBindings&&iter)instanceBindings.push(iter)}function parseWithDefault(el,name,prepareBindingFn){var v=el.getAttribute(name);return parseMustaches(v==""?"{{}}":v,name,el,prepareBindingFn)}function parseAttributeBindings(element,prepareBindingFn){assert(element);var bindings=[];var ifFound=false;var bindFound=false;for(var i=0;i<element.attributes.length;i++){var attr=element.attributes[i];var name=attr.name;var value=attr.value;while(name[0]==="_"){name=name.substring(1)}if(isTemplate(element)&&(name===IF||name===BIND||name===REPEAT)){continue}var tokens=parseMustaches(value,name,element,prepareBindingFn);if(!tokens)continue;bindings.push(name,tokens)}if(isTemplate(element)){bindings.isTemplate=true;bindings.if=parseWithDefault(element,IF,prepareBindingFn);bindings.bind=parseWithDefault(element,BIND,prepareBindingFn);bindings.repeat=parseWithDefault(element,REPEAT,prepareBindingFn);if(bindings.if&&!bindings.bind&&!bindings.repeat)bindings.bind=parseMustaches("{{}}",BIND,element,prepareBindingFn)}return bindings}function getBindings(node,prepareBindingFn){if(node.nodeType===Node.ELEMENT_NODE)return parseAttributeBindings(node,prepareBindingFn);if(node.nodeType===Node.TEXT_NODE){var tokens=parseMustaches(node.data,"textContent",node,prepareBindingFn);if(tokens)return["textContent",tokens]}return[]}function cloneAndBindInstance(node,parent,stagingDocument,bindings,model,delegate,instanceBindings,instanceRecord){var clone=parent.appendChild(stagingDocument.importNode(node,false));var i=0;for(var child=node.firstChild;child;child=child.nextSibling){cloneAndBindInstance(child,clone,stagingDocument,bindings.children[i++],model,delegate,instanceBindings)}if(bindings.isTemplate){HTMLTemplateElement.decorate(clone,node);if(delegate)clone.setDelegate_(delegate)}processBindings(clone,bindings,model,instanceBindings);return clone}function createInstanceBindingMap(node,prepareBindingFn){var map=getBindings(node,prepareBindingFn);map.children={};var index=0;for(var child=node.firstChild;child;child=child.nextSibling){map.children[index++]=createInstanceBindingMap(child,prepareBindingFn)}return map}var contentUidCounter=1;function getContentUid(content){var id=content.id_;if(!id)id=content.id_=contentUidCounter++;return id}function getInstanceBindingMap(content,delegate_){var contentId=getContentUid(content);if(delegate_){var map=delegate_.bindingMaps[contentId];if(!map){map=delegate_.bindingMaps[contentId]=createInstanceBindingMap(content,delegate_.prepareBinding)||[]}return map}var map=content.bindingMap_;if(!map){map=content.bindingMap_=createInstanceBindingMap(content,undefined)||[]}return map}Object.defineProperty(Node.prototype,"templateInstance",{get:function(){var instance=this.templateInstance_;return instance?instance:this.parentNode?this.parentNode.templateInstance:undefined}});var emptyInstance=document.createDocumentFragment();emptyInstance.bindings_=[];emptyInstance.terminator_=null;function TemplateIterator(templateElement){this.closed=false;this.templateElement_=templateElement;this.instances=[];this.deps=undefined;this.iteratedValue=[];this.presentValue=undefined;this.arrayObserver=undefined}TemplateIterator.prototype={closeDeps:function(){var deps=this.deps;if(deps){if(deps.ifOneTime===false)deps.ifValue.close();if(deps.oneTime===false)deps.value.close()}},updateDependencies:function(directives,model){this.closeDeps();var deps=this.deps={};var template=this.templateElement_;var ifValue=true;if(directives.if){deps.hasIf=true;deps.ifOneTime=directives.if.onlyOneTime;deps.ifValue=processBinding(IF,directives.if,template,model);ifValue=deps.ifValue;if(deps.ifOneTime&&!ifValue){this.valueChanged();return}if(!deps.ifOneTime)ifValue=ifValue.open(this.updateIfValue,this)}if(directives.repeat){deps.repeat=true;deps.oneTime=directives.repeat.onlyOneTime;deps.value=processBinding(REPEAT,directives.repeat,template,model)}else{deps.repeat=false;deps.oneTime=directives.bind.onlyOneTime;deps.value=processBinding(BIND,directives.bind,template,model)}var value=deps.value;if(!deps.oneTime)value=value.open(this.updateIteratedValue,this);if(!ifValue){this.valueChanged();return}this.updateValue(value)},getUpdatedValue:function(){var value=this.deps.value;if(!this.deps.oneTime)value=value.discardChanges();return value},updateIfValue:function(ifValue){if(!ifValue){this.valueChanged();return}this.updateValue(this.getUpdatedValue())},updateIteratedValue:function(value){if(this.deps.hasIf){var ifValue=this.deps.ifValue;if(!this.deps.ifOneTime)ifValue=ifValue.discardChanges();if(!ifValue){this.valueChanged();return}}this.updateValue(value)},updateValue:function(value){if(!this.deps.repeat)value=[value];var observe=this.deps.repeat&&!this.deps.oneTime&&Array.isArray(value);this.valueChanged(value,observe)},valueChanged:function(value,observeValue){if(!Array.isArray(value))value=[];if(value===this.iteratedValue)return;this.unobserve();this.presentValue=value;if(observeValue){this.arrayObserver=new ArrayObserver(this.presentValue);this.arrayObserver.open(this.handleSplices,this)}this.handleSplices(ArrayObserver.calculateSplices(this.presentValue,this.iteratedValue))},getLastInstanceNode:function(index){if(index==-1)return this.templateElement_;var instance=this.instances[index];var terminator=instance.terminator_;if(!terminator)return this.getLastInstanceNode(index-1);if(terminator.nodeType!==Node.ELEMENT_NODE||this.templateElement_===terminator){return terminator}var subtemplateIterator=terminator.iterator_;if(!subtemplateIterator)return terminator;return subtemplateIterator.getLastTemplateNode()},getLastTemplateNode:function(){return this.getLastInstanceNode(this.instances.length-1)},insertInstanceAt:function(index,fragment){var previousInstanceLast=this.getLastInstanceNode(index-1);var parent=this.templateElement_.parentNode;this.instances.splice(index,0,fragment);parent.insertBefore(fragment,previousInstanceLast.nextSibling)},extractInstanceAt:function(index){var previousInstanceLast=this.getLastInstanceNode(index-1);var lastNode=this.getLastInstanceNode(index);var parent=this.templateElement_.parentNode;var instance=this.instances.splice(index,1)[0];while(lastNode!==previousInstanceLast){var node=previousInstanceLast.nextSibling;if(node==lastNode)lastNode=previousInstanceLast;instance.appendChild(parent.removeChild(node))}return instance},getDelegateFn:function(fn){fn=fn&&fn(this.templateElement_);return typeof fn==="function"?fn:null},handleSplices:function(splices){if(this.closed||!splices.length)return;var template=this.templateElement_;if(!template.parentNode){this.close();return}ArrayObserver.applySplices(this.iteratedValue,this.presentValue,splices);var delegate=template.delegate_;if(this.instanceModelFn_===undefined){this.instanceModelFn_=this.getDelegateFn(delegate&&delegate.prepareInstanceModel)}if(this.instancePositionChangedFn_===undefined){this.instancePositionChangedFn_=this.getDelegateFn(delegate&&delegate.prepareInstancePositionChanged)}var instanceCache=new Map;var removeDelta=0;for(var i=0;i<splices.length;i++){var splice=splices[i];var removed=splice.removed;for(var j=0;j<removed.length;j++){var model=removed[j];var instance=this.extractInstanceAt(splice.index+removeDelta);if(instance!==emptyInstance){instanceCache.set(model,instance)}}removeDelta-=splice.addedCount}for(var i=0;i<splices.length;i++){var splice=splices[i];var addIndex=splice.index;for(;addIndex<splice.index+splice.addedCount;addIndex++){var model=this.iteratedValue[addIndex];var instance=instanceCache.get(model);if(instance){instanceCache.delete(model)}else{if(this.instanceModelFn_){model=this.instanceModelFn_(model)}if(model===undefined){instance=emptyInstance}else{instance=template.createInstance(model,undefined,delegate)}}this.insertInstanceAt(addIndex,instance)}}instanceCache.forEach(function(instance){this.closeInstanceBindings(instance)},this);if(this.instancePositionChangedFn_)this.reportInstancesMoved(splices)},reportInstanceMoved:function(index){var instance=this.instances[index];if(instance===emptyInstance)return;this.instancePositionChangedFn_(instance.templateInstance_,index)},reportInstancesMoved:function(splices){var index=0;var offset=0;for(var i=0;i<splices.length;i++){var splice=splices[i];if(offset!=0){while(index<splice.index){this.reportInstanceMoved(index);index++}}else{index=splice.index}while(index<splice.index+splice.addedCount){this.reportInstanceMoved(index);index++}offset+=splice.addedCount-splice.removed.length}if(offset==0)return;var length=this.instances.length;while(index<length){this.reportInstanceMoved(index);index++}},closeInstanceBindings:function(instance){var bindings=instance.bindings_;for(var i=0;i<bindings.length;i++){bindings[i].close()}},unobserve:function(){if(!this.arrayObserver)return;this.arrayObserver.close();this.arrayObserver=undefined},close:function(){if(this.closed)return;this.unobserve();for(var i=0;i<this.instances.length;i++){this.closeInstanceBindings(this.instances[i])}this.instances.length=0;this.closeDeps();this.templateElement_.iterator_=undefined;this.closed=true}};HTMLTemplateElement.forAllTemplatesFrom_=forAllTemplatesFrom})(this);(function(scope){"use strict";var hasWorkingUrl=false;if(!scope.forceJURL){try{var u=new URL("b","http://a");u.pathname="c%20d";hasWorkingUrl=u.href==="http://a/c%20d"}catch(e){}}if(hasWorkingUrl)return;var relative=Object.create(null);relative["ftp"]=21;relative["file"]=0;relative["gopher"]=70;relative["http"]=80;relative["https"]=443;relative["ws"]=80;relative["wss"]=443;var relativePathDotMapping=Object.create(null);relativePathDotMapping["%2e"]=".";relativePathDotMapping[".%2e"]="..";relativePathDotMapping["%2e."]="..";relativePathDotMapping["%2e%2e"]="..";function isRelativeScheme(scheme){return relative[scheme]!==undefined}function invalid(){clear.call(this);this._isInvalid=true}function IDNAToASCII(h){if(""==h){invalid.call(this)}return h.toLowerCase()}function percentEscape(c){var unicode=c.charCodeAt(0);if(unicode>32&&unicode<127&&[34,35,60,62,63,96].indexOf(unicode)==-1){return c}return encodeURIComponent(c)}function percentEscapeQuery(c){var unicode=c.charCodeAt(0);if(unicode>32&&unicode<127&&[34,35,60,62,96].indexOf(unicode)==-1){return c}return encodeURIComponent(c)}var EOF=undefined,ALPHA=/[a-zA-Z]/,ALPHANUMERIC=/[a-zA-Z0-9\+\-\.]/;function parse(input,stateOverride,base){function err(message){errors.push(message)}var state=stateOverride||"scheme start",cursor=0,buffer="",seenAt=false,seenBracket=false,errors=[];loop:while((input[cursor-1]!=EOF||cursor==0)&&!this._isInvalid){var c=input[cursor];switch(state){case"scheme start":if(c&&ALPHA.test(c)){buffer+=c.toLowerCase();state="scheme"}else if(!stateOverride){buffer="";state="no scheme";continue}else{err("Invalid scheme.");break loop}break;case"scheme":if(c&&ALPHANUMERIC.test(c)){buffer+=c.toLowerCase()}else if(":"==c){this._scheme=buffer;buffer="";if(stateOverride){break loop}if(isRelativeScheme(this._scheme)){this._isRelative=true}if("file"==this._scheme){state="relative"}else if(this._isRelative&&base&&base._scheme==this._scheme){state="relative or authority"}else if(this._isRelative){state="authority first slash"}else{state="scheme data"}}else if(!stateOverride){buffer="";cursor=0;state="no scheme";continue}else if(EOF==c){break loop}else{err("Code point not allowed in scheme: "+c);break loop}break;case"scheme data":if("?"==c){query="?";state="query"}else if("#"==c){this._fragment="#";state="fragment"}else{if(EOF!=c&&"    "!=c&&"\n"!=c&&"\r"!=c){this._schemeData+=percentEscape(c)}}break;case"no scheme":if(!base||!isRelativeScheme(base._scheme)){err("Missing scheme.");invalid.call(this)}else{state="relative";continue}break;case"relative or authority":if("/"==c&&"/"==input[cursor+1]){state="authority ignore slashes"}else{err("Expected /, got: "+c);state="relative";continue}break;case"relative":this._isRelative=true;if("file"!=this._scheme)this._scheme=base._scheme;if(EOF==c){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query=base._query;break loop}else if("/"==c||"\\"==c){if("\\"==c)err("\\ is an invalid code point.");state="relative slash"}else if("?"==c){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query="?";state="query"}else if("#"==c){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._query=base._query;this._fragment="#";state="fragment"}else{var nextC=input[cursor+1];var nextNextC=input[cursor+2];if("file"!=this._scheme||!ALPHA.test(c)||nextC!=":"&&nextC!="|"||EOF!=nextNextC&&"/"!=nextNextC&&"\\"!=nextNextC&&"?"!=nextNextC&&"#"!=nextNextC){this._host=base._host;this._port=base._port;this._path=base._path.slice();this._path.pop()}state="relative path";continue}break;case"relative slash":if("/"==c||"\\"==c){if("\\"==c){err("\\ is an invalid code point.")}if("file"==this._scheme){state="file host"}else{state="authority ignore slashes"}}else{if("file"!=this._scheme){this._host=base._host;this._port=base._port}state="relative path";continue}break;case"authority first slash":if("/"==c){state="authority second slash"}else{err("Expected '/', got: "+c);state="authority ignore slashes";continue}break;case"authority second slash":state="authority ignore slashes";if("/"!=c){err("Expected '/', got: "+c);continue}break;case"authority ignore slashes":if("/"!=c&&"\\"!=c){state="authority";continue}else{err("Expected authority, got: "+c)}break;case"authority":if("@"==c){if(seenAt){err("@ already seen.");buffer+="%40"}seenAt=true;for(var i=0;i<buffer.length;i++){var cp=buffer[i];if("    "==cp||"\n"==cp||"\r"==cp){err("Invalid whitespace in authority.");continue}if(":"==cp&&null===this._password){this._password="";continue}var tempC=percentEscape(cp);null!==this._password?this._password+=tempC:this._username+=tempC}buffer=""}else if(EOF==c||"/"==c||"\\"==c||"?"==c||"#"==c){cursor-=buffer.length;buffer="";state="host";continue}else{buffer+=c}break;case"file host":if(EOF==c||"/"==c||"\\"==c||"?"==c||"#"==c){if(buffer.length==2&&ALPHA.test(buffer[0])&&(buffer[1]==":"||buffer[1]=="|")){state="relative path"}else if(buffer.length==0){state="relative path start"}else{this._host=IDNAToASCII.call(this,buffer);buffer="";state="relative path start"}continue}else if("    "==c||"\n"==c||"\r"==c){err("Invalid whitespace in file host.")}else{buffer+=c}break;case"host":case"hostname":if(":"==c&&!seenBracket){this._host=IDNAToASCII.call(this,buffer);buffer="";state="port";if("hostname"==stateOverride){break loop}}else if(EOF==c||"/"==c||"\\"==c||"?"==c||"#"==c){this._host=IDNAToASCII.call(this,buffer);buffer="";state="relative path start";if(stateOverride){break loop}continue}else if("    "!=c&&"\n"!=c&&"\r"!=c){if("["==c){seenBracket=true}else if("]"==c){seenBracket=false}buffer+=c}else{err("Invalid code point in host/hostname: "+c)}break;case"port":if(/[0-9]/.test(c)){buffer+=c}else if(EOF==c||"/"==c||"\\"==c||"?"==c||"#"==c||stateOverride){if(""!=buffer){var temp=parseInt(buffer,10);if(temp!=relative[this._scheme]){this._port=temp+""}buffer=""}if(stateOverride){break loop}state="relative path start";continue}else if("    "==c||"\n"==c||"\r"==c){err("Invalid code point in port: "+c)}else{invalid.call(this)}break;case"relative path start":if("\\"==c)err("'\\' not allowed in path.");state="relative path";if("/"!=c&&"\\"!=c){continue}break;case"relative path":if(EOF==c||"/"==c||"\\"==c||!stateOverride&&("?"==c||"#"==c)){if("\\"==c){err("\\ not allowed in relative path.")}var tmp;if(tmp=relativePathDotMapping[buffer.toLowerCase()]){buffer=tmp}if(".."==buffer){this._path.pop();if("/"!=c&&"\\"!=c){this._path.push("")}}else if("."==buffer&&"/"!=c&&"\\"!=c){this._path.push("")}else if("."!=buffer){if("file"==this._scheme&&this._path.length==0&&buffer.length==2&&ALPHA.test(buffer[0])&&buffer[1]=="|"){buffer=buffer[0]+":"}this._path.push(buffer)}buffer="";if("?"==c){this._query="?";state="query"}else if("#"==c){this._fragment="#";state="fragment"}}else if("    "!=c&&"\n"!=c&&"\r"!=c){buffer+=percentEscape(c)}break;case"query":if(!stateOverride&&"#"==c){this._fragment="#";state="fragment"}else if(EOF!=c&&"    "!=c&&"\n"!=c&&"\r"!=c){this._query+=percentEscapeQuery(c)}break;case"fragment":if(EOF!=c&&"    "!=c&&"\n"!=c&&"\r"!=c){this._fragment+=c}break}cursor++}}function clear(){this._scheme="";this._schemeData="";this._username="";this._password=null;this._host="";this._port="";this._path=[];this._query="";this._fragment="";this._isInvalid=false;this._isRelative=false}function jURL(url,base){if(base!==undefined&&!(base instanceof jURL))base=new jURL(String(base));this._url=url;clear.call(this);var input=url.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");parse.call(this,input,null,base)}jURL.prototype={get href(){if(this._isInvalid)return this._url;var authority="";if(""!=this._username||null!=this._password){authority=this._username+(null!=this._password?":"+this._password:"")+"@"}return this.protocol+(this._isRelative?"//"+authority+this.host:"")+this.pathname+this._query+this._fragment},set href(href){clear.call(this);parse.call(this,href)},get protocol(){return this._scheme+":"},set protocol(protocol){if(this._isInvalid)return;
parse.call(this,protocol+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(host){if(this._isInvalid||!this._isRelative)return;parse.call(this,host,"host")},get hostname(){return this._host},set hostname(hostname){if(this._isInvalid||!this._isRelative)return;parse.call(this,hostname,"hostname")},get port(){return this._port},set port(port){if(this._isInvalid||!this._isRelative)return;parse.call(this,port,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(pathname){if(this._isInvalid||!this._isRelative)return;this._path=[];parse.call(this,pathname,"relative path start")},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this._query},set search(search){if(this._isInvalid||!this._isRelative)return;this._query="?";if("?"==search[0])search=search.slice(1);parse.call(this,search,"query")},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(hash){if(this._isInvalid)return;this._fragment="#";if("#"==hash[0])hash=hash.slice(1);parse.call(this,hash,"fragment")},get origin(){var host;if(this._isInvalid||!this._scheme){return""}switch(this._scheme){case"data":case"file":case"javascript":case"mailto":return"null"}host=this.host;if(!host){return""}return this._scheme+"://"+host}};var OriginalURL=scope.URL;if(OriginalURL){jURL.createObjectURL=function(blob){return OriginalURL.createObjectURL.apply(OriginalURL,arguments)};jURL.revokeObjectURL=function(url){OriginalURL.revokeObjectURL(url)}}scope.URL=jURL})(this);(function(scope){var iterations=0;var callbacks=[];var twiddle=document.createTextNode("");function endOfMicrotask(callback){twiddle.textContent=iterations++;callbacks.push(callback)}function atEndOfMicrotask(){while(callbacks.length){callbacks.shift()()}}new(window.MutationObserver||JsMutationObserver)(atEndOfMicrotask).observe(twiddle,{characterData:true});scope.endOfMicrotask=endOfMicrotask;Platform.endOfMicrotask=endOfMicrotask})(Polymer);(function(scope){var endOfMicrotask=scope.endOfMicrotask;var log=window.WebComponents?WebComponents.flags.log:{};var style=document.createElement("style");style.textContent="template {display: none !important;} /* injected by platform.js */";var head=document.querySelector("head");head.insertBefore(style,head.firstChild);var flushing;function flush(){if(!flushing){flushing=true;endOfMicrotask(function(){flushing=false;log.data&&console.group("flush");Platform.performMicrotaskCheckpoint();log.data&&console.groupEnd()})}}if(!Observer.hasObjectObserve){var FLUSH_POLL_INTERVAL=125;window.addEventListener("WebComponentsReady",function(){flush();var visibilityHandler=function(){if(document.visibilityState==="hidden"){if(scope.flushPoll){clearInterval(scope.flushPoll)}}else{scope.flushPoll=setInterval(flush,FLUSH_POLL_INTERVAL)}};if(typeof document.visibilityState==="string"){document.addEventListener("visibilitychange",visibilityHandler)}visibilityHandler()})}else{flush=function(){}}if(window.CustomElements&&!CustomElements.useNative){var originalImportNode=Document.prototype.importNode;Document.prototype.importNode=function(node,deep){var imported=originalImportNode.call(this,node,deep);CustomElements.upgradeAll(imported);return imported}}scope.flush=flush;Platform.flush=flush})(window.Polymer);(function(scope){var urlResolver={resolveDom:function(root,url){url=url||baseUrl(root);this.resolveAttributes(root,url);this.resolveStyles(root,url);var templates=root.querySelectorAll("template");if(templates){for(var i=0,l=templates.length,t;i<l&&(t=templates[i]);i++){if(t.content){this.resolveDom(t.content,url)}}}},resolveTemplate:function(template){this.resolveDom(template.content,baseUrl(template))},resolveStyles:function(root,url){var styles=root.querySelectorAll("style");if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.resolveStyle(s,url)}}},resolveStyle:function(style,url){url=url||baseUrl(style);style.textContent=this.resolveCssText(style.textContent,url)},resolveCssText:function(cssText,baseUrl,keepAbsolute){cssText=replaceUrlsInCssText(cssText,baseUrl,keepAbsolute,CSS_URL_REGEXP);return replaceUrlsInCssText(cssText,baseUrl,keepAbsolute,CSS_IMPORT_REGEXP)},resolveAttributes:function(root,url){if(root.hasAttributes&&root.hasAttributes()){this.resolveElementAttributes(root,url)}var nodes=root&&root.querySelectorAll(URL_ATTRS_SELECTOR);if(nodes){for(var i=0,l=nodes.length,n;i<l&&(n=nodes[i]);i++){this.resolveElementAttributes(n,url)}}},resolveElementAttributes:function(node,url){url=url||baseUrl(node);URL_ATTRS.forEach(function(v){var attr=node.attributes[v];var value=attr&&attr.value;var replacement;if(value&&value.search(URL_TEMPLATE_SEARCH)<0){if(v==="style"){replacement=replaceUrlsInCssText(value,url,false,CSS_URL_REGEXP)}else{replacement=resolveRelativeUrl(url,value)}attr.value=replacement}})}};var ABS_URL=/(^\/)|(^#)|(^[\w-\d]*:)/;var CSS_URL_REGEXP=/(url\()([^)]*)(\))/g;var CSS_IMPORT_REGEXP=/(@import[\s]+(?!url\())([^;]*)(;)/g;var URL_ATTRS=["href","src","action","style","url"];var URL_ATTRS_SELECTOR="["+URL_ATTRS.join("],[")+"]";var URL_TEMPLATE_SEARCH="{{.*}}";var URL_HASH="#";function baseUrl(node){var u=new URL(node.ownerDocument.baseURI);u.search="";u.hash="";return u}function replaceUrlsInCssText(cssText,baseUrl,keepAbsolute,regexp){return cssText.replace(regexp,function(m,pre,url,post){var urlPath=url.replace(/["']/g,"");urlPath=resolveRelativeUrl(baseUrl,urlPath,keepAbsolute);return pre+"'"+urlPath+"'"+post})}function resolveRelativeUrl(baseUrl,url,keepAbsolute){if(ABS_URL.test(url)){return url}var u=new URL(url,baseUrl);return keepAbsolute?u.href:makeDocumentRelPath(u.href)}function makeDocumentRelPath(url){var root=baseUrl(document.documentElement);var u=new URL(url,root);if(u.host===root.host&&u.port===root.port&&u.protocol===root.protocol){return makeRelPath(root,u)}else{return url}}function makeRelPath(sourceUrl,targetUrl){var source=sourceUrl.pathname;var target=targetUrl.pathname;var s=source.split("/");var t=target.split("/");while(s.length&&s[0]===t[0]){s.shift();t.shift()}for(var i=0,l=s.length-1;i<l;i++){t.unshift("..")}var hash=targetUrl.href.slice(-1)===URL_HASH?URL_HASH:targetUrl.hash;return t.join("/")+targetUrl.search+hash}scope.urlResolver=urlResolver})(Polymer);(function(scope){var endOfMicrotask=Polymer.endOfMicrotask;function Loader(regex){this.cache=Object.create(null);this.map=Object.create(null);this.requests=0;this.regex=regex}Loader.prototype={extractUrls:function(text,base){var matches=[];var matched,u;while(matched=this.regex.exec(text)){u=new URL(matched[1],base);matches.push({matched:matched[0],url:u.href})}return matches},process:function(text,root,callback){var matches=this.extractUrls(text,root);var done=callback.bind(null,this.map);this.fetch(matches,done)},fetch:function(matches,callback){var inflight=matches.length;if(!inflight){return callback()}var done=function(){if(--inflight===0){callback()}};var m,req,url;for(var i=0;i<inflight;i++){m=matches[i];url=m.url;req=this.cache[url];if(!req){req=this.xhr(url);req.match=m;this.cache[url]=req}req.wait(done)}},handleXhr:function(request){var match=request.match;var url=match.url;var response=request.response||request.responseText||"";this.map[url]=response;this.fetch(this.extractUrls(response,url),request.resolve)},xhr:function(url){this.requests++;var request=new XMLHttpRequest;request.open("GET",url,true);request.send();request.onerror=request.onload=this.handleXhr.bind(this,request);request.pending=[];request.resolve=function(){var pending=request.pending;for(var i=0;i<pending.length;i++){pending[i]()}request.pending=null};request.wait=function(fn){if(request.pending){request.pending.push(fn)}else{endOfMicrotask(fn)}};return request}};scope.Loader=Loader})(Polymer);(function(scope){var urlResolver=scope.urlResolver;var Loader=scope.Loader;function StyleResolver(){this.loader=new Loader(this.regex)}StyleResolver.prototype={regex:/@import\s+(?:url)?["'\(]*([^'"\)]*)['"\)]*;/g,resolve:function(text,url,callback){var done=function(map){callback(this.flatten(text,url,map))}.bind(this);this.loader.process(text,url,done)},resolveNode:function(style,url,callback){var text=style.textContent;var done=function(text){style.textContent=text;callback(style)};this.resolve(text,url,done)},flatten:function(text,base,map){var matches=this.loader.extractUrls(text,base);var match,url,intermediate;for(var i=0;i<matches.length;i++){match=matches[i];url=match.url;intermediate=urlResolver.resolveCssText(map[url],url,true);intermediate=this.flatten(intermediate,base,map);text=text.replace(match.matched,intermediate)}return text},loadStyles:function(styles,base,callback){var loaded=0,l=styles.length;function loadedStyle(style){loaded++;if(loaded===l&&callback){callback()}}for(var i=0,s;i<l&&(s=styles[i]);i++){this.resolveNode(s,base,loadedStyle)}}};var styleResolver=new StyleResolver;scope.styleResolver=styleResolver})(Polymer);(function(scope){function extend(prototype,api){if(prototype&&api){Object.getOwnPropertyNames(api).forEach(function(n){var pd=Object.getOwnPropertyDescriptor(api,n);if(pd){Object.defineProperty(prototype,n,pd);if(typeof pd.value=="function"){pd.value.nom=n}}})}return prototype}function mixin(inObj){var obj=inObj||{};for(var i=1;i<arguments.length;i++){var p=arguments[i];try{for(var n in p){copyProperty(n,p,obj)}}catch(x){}}return obj}function copyProperty(inName,inSource,inTarget){var pd=getPropertyDescriptor(inSource,inName);Object.defineProperty(inTarget,inName,pd)}function getPropertyDescriptor(inObject,inName){if(inObject){var pd=Object.getOwnPropertyDescriptor(inObject,inName);return pd||getPropertyDescriptor(Object.getPrototypeOf(inObject),inName)}}scope.extend=extend;scope.mixin=mixin;Platform.mixin=mixin})(Polymer);(function(scope){var Job=function(inContext){this.context=inContext;this.boundComplete=this.complete.bind(this)};Job.prototype={go:function(callback,wait){this.callback=callback;var h;if(!wait){h=requestAnimationFrame(this.boundComplete);this.handle=function(){cancelAnimationFrame(h)}}else{h=setTimeout(this.boundComplete,wait);this.handle=function(){clearTimeout(h)}}},stop:function(){if(this.handle){this.handle();this.handle=null}},complete:function(){if(this.handle){this.stop();this.callback.call(this.context)}}};function job(job,callback,wait){if(job){job.stop()}else{job=new Job(this)}job.go(callback,wait);return job}scope.job=job})(Polymer);(function(scope){var registry={};HTMLElement.register=function(tag,prototype){registry[tag]=prototype};HTMLElement.getPrototypeForTag=function(tag){var prototype=!tag?HTMLElement.prototype:registry[tag];return prototype||Object.getPrototypeOf(document.createElement(tag))};var originalStopPropagation=Event.prototype.stopPropagation;Event.prototype.stopPropagation=function(){this.cancelBubble=true;originalStopPropagation.apply(this,arguments)};var add=DOMTokenList.prototype.add;var remove=DOMTokenList.prototype.remove;DOMTokenList.prototype.add=function(){for(var i=0;i<arguments.length;i++){add.call(this,arguments[i])}};DOMTokenList.prototype.remove=function(){for(var i=0;i<arguments.length;i++){remove.call(this,arguments[i])}};DOMTokenList.prototype.toggle=function(name,bool){if(arguments.length==1){bool=!this.contains(name)}bool?this.add(name):this.remove(name)};DOMTokenList.prototype.switch=function(oldName,newName){oldName&&this.remove(oldName);newName&&this.add(newName)};var ArraySlice=function(){return Array.prototype.slice.call(this)};var namedNodeMap=window.NamedNodeMap||window.MozNamedAttrMap||{};NodeList.prototype.array=ArraySlice;namedNodeMap.prototype.array=ArraySlice;HTMLCollection.prototype.array=ArraySlice;function createDOM(inTagOrNode,inHTML,inAttrs){var dom=typeof inTagOrNode=="string"?document.createElement(inTagOrNode):inTagOrNode.cloneNode(true);dom.innerHTML=inHTML;if(inAttrs){for(var n in inAttrs){dom.setAttribute(n,inAttrs[n])}}return dom}scope.createDOM=createDOM})(Polymer);(function(scope){function $super(arrayOfArgs){var caller=$super.caller;var nom=caller.nom;var _super=caller._super;if(!_super){if(!nom){nom=caller.nom=nameInThis.call(this,caller)}if(!nom){console.warn("called super() on a method not installed declaratively (has no .nom property)")}_super=memoizeSuper(caller,nom,getPrototypeOf(this))}var fn=_super[nom];if(fn){if(!fn._super){memoizeSuper(fn,nom,_super)}return fn.apply(this,arrayOfArgs||[])}}function nameInThis(value){var p=this.__proto__;while(p&&p!==HTMLElement.prototype){var n$=Object.getOwnPropertyNames(p);for(var i=0,l=n$.length,n;i<l&&(n=n$[i]);i++){var d=Object.getOwnPropertyDescriptor(p,n);if(typeof d.value==="function"&&d.value===value){return n}}p=p.__proto__}}function memoizeSuper(method,name,proto){var s=nextSuper(proto,name,method);if(s[name]){s[name].nom=name}return method._super=s}function nextSuper(proto,name,caller){while(proto){if(proto[name]!==caller&&proto[name]){return proto}proto=getPrototypeOf(proto)}return Object}function getPrototypeOf(prototype){return prototype.__proto__}function hintSuper(prototype){for(var n in prototype){var pd=Object.getOwnPropertyDescriptor(prototype,n);if(pd&&typeof pd.value==="function"){pd.value.nom=n}}}scope.super=$super})(Polymer);(function(scope){function noopHandler(value){return value}var typeHandlers={string:noopHandler,undefined:noopHandler,date:function(value){return new Date(Date.parse(value)||Date.now())},"boolean":function(value){if(value===""){return true}return value==="false"?false:!!value},number:function(value){var n=parseFloat(value);if(n===0){n=parseInt(value)}return isNaN(n)?value:n},object:function(value,currentValue){if(currentValue===null){return value}try{return JSON.parse(value.replace(/'/g,'"'))}catch(e){return value}},"function":function(value,currentValue){return currentValue}};function deserializeValue(value,currentValue){var inferredType=typeof currentValue;if(currentValue instanceof Date){inferredType="date"}return typeHandlers[inferredType](value,currentValue)}scope.deserializeValue=deserializeValue})(Polymer);(function(scope){var extend=scope.extend;var api={};api.declaration={};api.instance={};api.publish=function(apis,prototype){for(var n in apis){extend(prototype,apis[n])}};scope.api=api})(Polymer);(function(scope){var utils={async:function(method,args,timeout){Polymer.flush();args=args&&args.length?args:[args];var fn=function(){(this[method]||method).apply(this,args)}.bind(this);var handle=timeout?setTimeout(fn,timeout):requestAnimationFrame(fn);return timeout?handle:~handle},cancelAsync:function(handle){if(handle<0){cancelAnimationFrame(~handle)}else{clearTimeout(handle)}},fire:function(type,detail,onNode,bubbles,cancelable){var node=onNode||this;var detail=detail===null||detail===undefined?{}:detail;var event=new CustomEvent(type,{bubbles:bubbles!==undefined?bubbles:true,cancelable:cancelable!==undefined?cancelable:true,detail:detail});node.dispatchEvent(event);return event},asyncFire:function(){this.async("fire",arguments)},classFollows:function(anew,old,className){if(old){old.classList.remove(className)}if(anew){anew.classList.add(className)}},injectBoundHTML:function(html,element){var template=document.createElement("template");template.innerHTML=html;var fragment=this.instanceTemplate(template);if(element){element.textContent="";element.appendChild(fragment)}return fragment}};var nop=function(){};var nob={};utils.asyncMethod=utils.async;scope.api.instance.utils=utils;scope.nop=nop;scope.nob=nob})(Polymer);(function(scope){var log=window.WebComponents?WebComponents.flags.log:{};var EVENT_PREFIX="on-";var events={EVENT_PREFIX:EVENT_PREFIX,addHostListeners:function(){var events=this.eventDelegates;log.events&&Object.keys(events).length>0&&console.log("[%s] addHostListeners:",this.localName,events);for(var type in events){var methodName=events[type];PolymerGestures.addEventListener(this,type,this.element.getEventHandler(this,this,methodName))}},dispatchMethod:function(obj,method,args){if(obj){log.events&&console.group("[%s] dispatch [%s]",obj.localName,method);var fn=typeof method==="function"?method:obj[method];if(fn){fn[args?"apply":"call"](obj,args)}log.events&&console.groupEnd();Polymer.flush()}}};scope.api.instance.events=events;scope.addEventListener=function(node,eventType,handlerFn,capture){PolymerGestures.addEventListener(wrap(node),eventType,handlerFn,capture)};scope.removeEventListener=function(node,eventType,handlerFn,capture){PolymerGestures.removeEventListener(wrap(node),eventType,handlerFn,capture)}})(Polymer);(function(scope){var attributes={copyInstanceAttributes:function(){var a$=this._instanceAttributes;for(var k in a$){if(!this.hasAttribute(k)){this.setAttribute(k,a$[k])}}},takeAttributes:function(){if(this._publishLC){for(var i=0,a$=this.attributes,l=a$.length,a;(a=a$[i])&&i<l;i++){this.attributeToProperty(a.name,a.value)}}},attributeToProperty:function(name,value){var name=this.propertyForAttribute(name);if(name){if(value&&value.search(scope.bindPattern)>=0){return}var currentValue=this[name];var value=this.deserializeValue(value,currentValue);if(value!==currentValue){this[name]=value}}},propertyForAttribute:function(name){var match=this._publishLC&&this._publishLC[name];return match},deserializeValue:function(stringValue,currentValue){return scope.deserializeValue(stringValue,currentValue)},serializeValue:function(value,inferredType){if(inferredType==="boolean"){return value?"":undefined}else if(inferredType!=="object"&&inferredType!=="function"&&value!==undefined){return value}},reflectPropertyToAttribute:function(name){var inferredType=typeof this[name];var serializedValue=this.serializeValue(this[name],inferredType);if(serializedValue!==undefined){this.setAttribute(name,serializedValue)}else if(inferredType==="boolean"){this.removeAttribute(name)}}};scope.api.instance.attributes=attributes})(Polymer);(function(scope){var log=window.WebComponents?WebComponents.flags.log:{};var OBSERVE_SUFFIX="Changed";var empty=[];var updateRecord={object:undefined,type:"update",name:undefined,oldValue:undefined};var numberIsNaN=Number.isNaN||function(value){return typeof value==="number"&&isNaN(value)};function areSameValue(left,right){if(left===right)return left!==0||1/left===1/right;if(numberIsNaN(left)&&numberIsNaN(right))return true;return left!==left&&right!==right}function resolveBindingValue(oldValue,value){if(value===undefined&&oldValue===null){return value}return value===null||value===undefined?oldValue:value}var properties={createPropertyObserver:function(){var n$=this._observeNames;if(n$&&n$.length){var o=this._propertyObserver=new CompoundObserver(true);this.registerObserver(o);for(var i=0,l=n$.length,n;i<l&&(n=n$[i]);i++){o.addPath(this,n);this.observeArrayValue(n,this[n],null)}}},openPropertyObserver:function(){if(this._propertyObserver){this._propertyObserver.open(this.notifyPropertyChanges,this)}},notifyPropertyChanges:function(newValues,oldValues,paths){var name,method,called={};for(var i in oldValues){name=paths[2*i+1];method=this.observe[name];if(method){var ov=oldValues[i],nv=newValues[i];this.observeArrayValue(name,nv,ov);if(!called[method]){if(ov!==undefined&&ov!==null||nv!==undefined&&nv!==null){called[method]=true;this.invokeMethod(method,[ov,nv,arguments])}}}}},invokeMethod:function(method,args){var fn=this[method]||method;if(typeof fn==="function"){fn.apply(this,args)}},deliverChanges:function(){if(this._propertyObserver){this._propertyObserver.deliver()}},observeArrayValue:function(name,value,old){var callbackName=this.observe[name];if(callbackName){if(Array.isArray(old)){log.observe&&console.log("[%s] observeArrayValue: unregister observer [%s]",this.localName,name);this.closeNamedObserver(name+"__array")}if(Array.isArray(value)){log.observe&&console.log("[%s] observeArrayValue: register observer [%s]",this.localName,name,value);var observer=new ArrayObserver(value);observer.open(function(splices){this.invokeMethod(callbackName,[splices])},this);this.registerNamedObserver(name+"__array",observer)}}},emitPropertyChangeRecord:function(name,value,oldValue){var object=this;if(areSameValue(value,oldValue)){return}this._propertyChanged(name,value,oldValue);if(!Observer.hasObjectObserve){return}var notifier=this._objectNotifier;if(!notifier){notifier=this._objectNotifier=Object.getNotifier(this)}updateRecord.object=this;updateRecord.name=name;updateRecord.oldValue=oldValue;notifier.notify(updateRecord)},_propertyChanged:function(name,value,oldValue){if(this.reflect[name]){this.reflectPropertyToAttribute(name)}},bindProperty:function(property,observable,oneTime){if(oneTime){this[property]=observable;return}var computed=this.element.prototype.computed;if(computed&&computed[property]){var privateComputedBoundValue=property+"ComputedBoundObservable_";this[privateComputedBoundValue]=observable;return}return this.bindToAccessor(property,observable,resolveBindingValue)},bindToAccessor:function(name,observable,resolveFn){var privateName=name+"_";var privateObservable=name+"Observable_";var privateComputedBoundValue=name+"ComputedBoundObservable_";this[privateObservable]=observable;var oldValue=this[privateName];var self=this;function updateValue(value,oldValue){self[privateName]=value;var setObserveable=self[privateComputedBoundValue];if(setObserveable&&typeof setObserveable.setValue=="function"){setObserveable.setValue(value)}self.emitPropertyChangeRecord(name,value,oldValue)}var value=observable.open(updateValue);if(resolveFn&&!areSameValue(oldValue,value)){var resolvedValue=resolveFn(oldValue,value);if(!areSameValue(value,resolvedValue)){value=resolvedValue;if(observable.setValue){observable.setValue(value)}}}updateValue(value,oldValue);var observer={close:function(){observable.close();self[privateObservable]=undefined;self[privateComputedBoundValue]=undefined}};this.registerObserver(observer);return observer},createComputedProperties:function(){if(!this._computedNames){return}for(var i=0;i<this._computedNames.length;i++){var name=this._computedNames[i];var expressionText=this.computed[name];try{var expression=PolymerExpressions.getExpression(expressionText);var observable=expression.getBinding(this,this.element.syntax);this.bindToAccessor(name,observable)}catch(ex){console.error("Failed to create computed property",ex)}}},registerObserver:function(observer){if(!this._observers){this._observers=[observer];return}this._observers.push(observer)},closeObservers:function(){if(!this._observers){return}var observers=this._observers;for(var i=0;i<observers.length;i++){var observer=observers[i];if(observer&&typeof observer.close=="function"){observer.close()}}this._observers=[]},registerNamedObserver:function(name,observer){var o$=this._namedObservers||(this._namedObservers={});o$[name]=observer},closeNamedObserver:function(name){var o$=this._namedObservers;if(o$&&o$[name]){o$[name].close();o$[name]=null;return true}},closeNamedObservers:function(){if(this._namedObservers){for(var i in this._namedObservers){this.closeNamedObserver(i)}this._namedObservers={}}}};var LOG_OBSERVE="[%s] watching [%s]";var LOG_OBSERVED="[%s#%s] watch: [%s] now [%s] was [%s]";var LOG_CHANGED="[%s#%s] propertyChanged: [%s] now [%s] was [%s]";scope.api.instance.properties=properties})(Polymer);(function(scope){var log=window.WebComponents?WebComponents.flags.log:{};var mdv={instanceTemplate:function(template){HTMLTemplateElement.decorate(template);var syntax=this.syntax||!template.bindingDelegate&&this.element.syntax;var dom=template.createInstance(this,syntax);var observers=dom.bindings_;for(var i=0;i<observers.length;i++){this.registerObserver(observers[i])}return dom},bind:function(name,observable,oneTime){var property=this.propertyForAttribute(name);if(!property){return this.mixinSuper(arguments)}else{var observer=this.bindProperty(property,observable,oneTime);if(Platform.enableBindingsReflection&&observer){observer.path=observable.path_;this._recordBinding(property,observer)}if(this.reflect[property]){this.reflectPropertyToAttribute(property)}return observer}},_recordBinding:function(name,observer){this.bindings_=this.bindings_||{};this.bindings_[name]=observer},bindFinished:function(){this.makeElementReady()},asyncUnbindAll:function(){if(!this._unbound){log.unbind&&console.log("[%s] asyncUnbindAll",this.localName);this._unbindAllJob=this.job(this._unbindAllJob,this.unbindAll,0)}},unbindAll:function(){if(!this._unbound){this.closeObservers();this.closeNamedObservers();this._unbound=true}},cancelUnbindAll:function(){if(this._unbound){log.unbind&&console.warn("[%s] already unbound, cannot cancel unbindAll",this.localName);return}log.unbind&&console.log("[%s] cancelUnbindAll",this.localName);if(this._unbindAllJob){this._unbindAllJob=this._unbindAllJob.stop()}}};function unbindNodeTree(node){forNodeTree(node,_nodeUnbindAll)}function _nodeUnbindAll(node){node.unbindAll()}function forNodeTree(node,callback){if(node){callback(node);for(var child=node.firstChild;child;child=child.nextSibling){forNodeTree(child,callback)}}}var mustachePattern=/\{\{([^{}]*)}}/;scope.bindPattern=mustachePattern;scope.api.instance.mdv=mdv})(Polymer);(function(scope){var base={PolymerBase:true,job:function(job,callback,wait){if(typeof job==="string"){var n="___"+job;this[n]=Polymer.job.call(this,this[n],callback,wait)}else{return Polymer.job.call(this,job,callback,wait)}},"super":Polymer.super,created:function(){},ready:function(){},createdCallback:function(){if(this.templateInstance&&this.templateInstance.model){console.warn("Attributes on "+this.localName+" were data bound "+"prior to Polymer upgrading the element. This may result in "+"incorrect binding types.")}this.created();this.prepareElement();if(!this.ownerDocument.isStagingDocument){this.makeElementReady()}},prepareElement:function(){if(this._elementPrepared){console.warn("Element already prepared",this.localName);return}this._elementPrepared=true;this.shadowRoots={};this.createPropertyObserver();this.openPropertyObserver();this.copyInstanceAttributes();this.takeAttributes();this.addHostListeners()},makeElementReady:function(){if(this._readied){return}this._readied=true;this.createComputedProperties();this.parseDeclarations(this.__proto__);this.removeAttribute("unresolved");this.ready()},attributeChangedCallback:function(name,oldValue){if(name!=="class"&&name!=="style"){this.attributeToProperty(name,this.getAttribute(name))}if(this.attributeChanged){this.attributeChanged.apply(this,arguments)}},attachedCallback:function(){this.cancelUnbindAll();if(this.attached){this.attached()}if(!this.hasBeenAttached){this.hasBeenAttached=true;if(this.domReady){this.async("domReady")}}},detachedCallback:function(){if(!this.preventDispose){this.asyncUnbindAll()}if(this.detached){this.detached()}if(this.leftView){this.leftView()}},parseDeclarations:function(p){if(p&&p.element){this.parseDeclarations(p.__proto__);p.parseDeclaration.call(this,p.element)}},parseDeclaration:function(elementElement){var template=this.fetchTemplate(elementElement);if(template){var root=this.shadowFromTemplate(template);this.shadowRoots[elementElement.name]=root}},fetchTemplate:function(elementElement){return elementElement.querySelector("template")},shadowFromTemplate:function(template){if(template){var root=this.createShadowRoot();var dom=this.instanceTemplate(template);root.appendChild(dom);this.shadowRootReady(root,template);return root}},lightFromTemplate:function(template,refNode){if(template){this.eventController=this;var dom=this.instanceTemplate(template);if(refNode){this.insertBefore(dom,refNode)}else{this.appendChild(dom)}this.shadowRootReady(this);return dom}},shadowRootReady:function(root){this.marshalNodeReferences(root)},marshalNodeReferences:function(root){var $=this.$=this.$||{};if(root){var n$=root.querySelectorAll("[id]");for(var i=0,l=n$.length,n;i<l&&(n=n$[i]);i++){$[n.id]=n}}},onMutation:function(node,listener){var observer=new MutationObserver(function(mutations){listener.call(this,observer,mutations);observer.disconnect()}.bind(this));observer.observe(node,{childList:true,subtree:true})}};function isBase(object){return object.hasOwnProperty("PolymerBase")}function PolymerBase(){}PolymerBase.prototype=base;base.constructor=PolymerBase;scope.Base=PolymerBase;scope.isBase=isBase;scope.api.instance.base=base})(Polymer);(function(scope){var log=window.WebComponents?WebComponents.flags.log:{};var hasShadowDOMPolyfill=window.ShadowDOMPolyfill;var STYLE_SCOPE_ATTRIBUTE="element";var STYLE_CONTROLLER_SCOPE="controller";var styles={STYLE_SCOPE_ATTRIBUTE:STYLE_SCOPE_ATTRIBUTE,installControllerStyles:function(){var scope=this.findStyleScope();if(scope&&!this.scopeHasNamedStyle(scope,this.localName)){var proto=getPrototypeOf(this),cssText="";while(proto&&proto.element){cssText+=proto.element.cssTextForScope(STYLE_CONTROLLER_SCOPE);proto=getPrototypeOf(proto)}if(cssText){this.installScopeCssText(cssText,scope)}}},installScopeStyle:function(style,name,scope){var scope=scope||this.findStyleScope(),name=name||"";if(scope&&!this.scopeHasNamedStyle(scope,this.localName+name)){var cssText="";if(style instanceof Array){for(var i=0,l=style.length,s;i<l&&(s=style[i]);i++){cssText+=s.textContent+"\n\n"}}else{cssText=style.textContent}this.installScopeCssText(cssText,scope,name)}},installScopeCssText:function(cssText,scope,name){scope=scope||this.findStyleScope();name=name||"";if(!scope){return}if(hasShadowDOMPolyfill){cssText=shimCssText(cssText,scope.host)}var style=this.element.cssTextToScopeStyle(cssText,STYLE_CONTROLLER_SCOPE);Polymer.applyStyleToScope(style,scope);this.styleCacheForScope(scope)[this.localName+name]=true},findStyleScope:function(node){var n=node||this;while(n.parentNode){n=n.parentNode}return n},scopeHasNamedStyle:function(scope,name){var cache=this.styleCacheForScope(scope);return cache[name]},styleCacheForScope:function(scope){if(hasShadowDOMPolyfill){var scopeName=scope.host?scope.host.localName:scope.localName;return polyfillScopeStyleCache[scopeName]||(polyfillScopeStyleCache[scopeName]={})}else{return scope._scopeStyles=scope._scopeStyles||{}}}};var polyfillScopeStyleCache={};function getPrototypeOf(prototype){return prototype.__proto__}function shimCssText(cssText,host){var name="",is=false;if(host){name=host.localName;is=host.hasAttribute("is")}var selector=WebComponents.ShadowCSS.makeScopeSelector(name,is);return WebComponents.ShadowCSS.shimCssText(cssText,selector)}scope.api.instance.styles=styles})(Polymer);(function(scope){var extend=scope.extend;var api=scope.api;function element(name,prototype){if(typeof name!=="string"){var script=prototype||document._currentScript;prototype=name;name=script&&script.parentNode&&script.parentNode.getAttribute?script.parentNode.getAttribute("name"):"";if(!name){throw"Element name could not be inferred."}}if(getRegisteredPrototype(name)){throw"Already registered (Polymer) prototype for element "+name}registerPrototype(name,prototype);notifyPrototype(name)}function waitingForPrototype(name,client){waitPrototype[name]=client}var waitPrototype={};function notifyPrototype(name){if(waitPrototype[name]){waitPrototype[name].registerWhenReady();delete waitPrototype[name]}}var prototypesByName={};function registerPrototype(name,prototype){return prototypesByName[name]=prototype||{}}function getRegisteredPrototype(name){return prototypesByName[name]}function instanceOfType(element,type){if(typeof type!=="string"){return false}var proto=HTMLElement.getPrototypeForTag(type);var ctor=proto&&proto.constructor;if(!ctor){return false}if(CustomElements.instanceof){return CustomElements.instanceof(element,ctor)}return element instanceof ctor}scope.getRegisteredPrototype=getRegisteredPrototype;scope.waitingForPrototype=waitingForPrototype;scope.instanceOfType=instanceOfType;window.Polymer=element;extend(Polymer,scope);if(WebComponents.consumeDeclarations){WebComponents.consumeDeclarations(function(declarations){if(declarations){for(var i=0,l=declarations.length,d;i<l&&(d=declarations[i]);i++){element.apply(null,d)}}})
}})(Polymer);(function(scope){var path={resolveElementPaths:function(node){Polymer.urlResolver.resolveDom(node)},addResolvePathApi:function(){var assetPath=this.getAttribute("assetpath")||"";var root=new URL(assetPath,this.ownerDocument.baseURI);this.prototype.resolvePath=function(urlPath,base){var u=new URL(urlPath,base||root);return u.href}}};scope.api.declaration.path=path})(Polymer);(function(scope){var log=window.WebComponents?WebComponents.flags.log:{};var api=scope.api.instance.styles;var STYLE_SCOPE_ATTRIBUTE=api.STYLE_SCOPE_ATTRIBUTE;var hasShadowDOMPolyfill=window.ShadowDOMPolyfill;var STYLE_SELECTOR="style";var STYLE_LOADABLE_MATCH="@import";var SHEET_SELECTOR="link[rel=stylesheet]";var STYLE_GLOBAL_SCOPE="global";var SCOPE_ATTR="polymer-scope";var styles={loadStyles:function(callback){var template=this.fetchTemplate();var content=template&&this.templateContent();if(content){this.convertSheetsToStyles(content);var styles=this.findLoadableStyles(content);if(styles.length){var templateUrl=template.ownerDocument.baseURI;return Polymer.styleResolver.loadStyles(styles,templateUrl,callback)}}if(callback){callback()}},convertSheetsToStyles:function(root){var s$=root.querySelectorAll(SHEET_SELECTOR);for(var i=0,l=s$.length,s,c;i<l&&(s=s$[i]);i++){c=createStyleElement(importRuleForSheet(s,this.ownerDocument.baseURI),this.ownerDocument);this.copySheetAttributes(c,s);s.parentNode.replaceChild(c,s)}},copySheetAttributes:function(style,link){for(var i=0,a$=link.attributes,l=a$.length,a;(a=a$[i])&&i<l;i++){if(a.name!=="rel"&&a.name!=="href"){style.setAttribute(a.name,a.value)}}},findLoadableStyles:function(root){var loadables=[];if(root){var s$=root.querySelectorAll(STYLE_SELECTOR);for(var i=0,l=s$.length,s;i<l&&(s=s$[i]);i++){if(s.textContent.match(STYLE_LOADABLE_MATCH)){loadables.push(s)}}}return loadables},installSheets:function(){this.cacheSheets();this.cacheStyles();this.installLocalSheets();this.installGlobalStyles()},cacheSheets:function(){this.sheets=this.findNodes(SHEET_SELECTOR);this.sheets.forEach(function(s){if(s.parentNode){s.parentNode.removeChild(s)}})},cacheStyles:function(){this.styles=this.findNodes(STYLE_SELECTOR+"["+SCOPE_ATTR+"]");this.styles.forEach(function(s){if(s.parentNode){s.parentNode.removeChild(s)}})},installLocalSheets:function(){var sheets=this.sheets.filter(function(s){return!s.hasAttribute(SCOPE_ATTR)});var content=this.templateContent();if(content){var cssText="";sheets.forEach(function(sheet){cssText+=cssTextFromSheet(sheet)+"\n"});if(cssText){var style=createStyleElement(cssText,this.ownerDocument);content.insertBefore(style,content.firstChild)}}},findNodes:function(selector,matcher){var nodes=this.querySelectorAll(selector).array();var content=this.templateContent();if(content){var templateNodes=content.querySelectorAll(selector).array();nodes=nodes.concat(templateNodes)}return matcher?nodes.filter(matcher):nodes},installGlobalStyles:function(){var style=this.styleForScope(STYLE_GLOBAL_SCOPE);applyStyleToScope(style,document.head)},cssTextForScope:function(scopeDescriptor){var cssText="";var selector="["+SCOPE_ATTR+"="+scopeDescriptor+"]";var matcher=function(s){return matchesSelector(s,selector)};var sheets=this.sheets.filter(matcher);sheets.forEach(function(sheet){cssText+=cssTextFromSheet(sheet)+"\n\n"});var styles=this.styles.filter(matcher);styles.forEach(function(style){cssText+=style.textContent+"\n\n"});return cssText},styleForScope:function(scopeDescriptor){var cssText=this.cssTextForScope(scopeDescriptor);return this.cssTextToScopeStyle(cssText,scopeDescriptor)},cssTextToScopeStyle:function(cssText,scopeDescriptor){if(cssText){var style=createStyleElement(cssText);style.setAttribute(STYLE_SCOPE_ATTRIBUTE,this.getAttribute("name")+"-"+scopeDescriptor);return style}}};function importRuleForSheet(sheet,baseUrl){var href=new URL(sheet.getAttribute("href"),baseUrl).href;return"@import '"+href+"';"}function applyStyleToScope(style,scope){if(style){if(scope===document){scope=document.head}if(hasShadowDOMPolyfill){scope=document.head}var clone=createStyleElement(style.textContent);var attr=style.getAttribute(STYLE_SCOPE_ATTRIBUTE);if(attr){clone.setAttribute(STYLE_SCOPE_ATTRIBUTE,attr)}var refNode=scope.firstElementChild;if(scope===document.head){var selector="style["+STYLE_SCOPE_ATTRIBUTE+"]";var s$=document.head.querySelectorAll(selector);if(s$.length){refNode=s$[s$.length-1].nextElementSibling}}scope.insertBefore(clone,refNode)}}function createStyleElement(cssText,scope){scope=scope||document;scope=scope.createElement?scope:scope.ownerDocument;var style=scope.createElement("style");style.textContent=cssText;return style}function cssTextFromSheet(sheet){return sheet&&sheet.__resource||""}function matchesSelector(node,inSelector){if(matches){return matches.call(node,inSelector)}}var p=HTMLElement.prototype;var matches=p.matches||p.matchesSelector||p.webkitMatchesSelector||p.mozMatchesSelector;scope.api.declaration.styles=styles;scope.applyStyleToScope=applyStyleToScope})(Polymer);(function(scope){var log=window.WebComponents?WebComponents.flags.log:{};var api=scope.api.instance.events;var EVENT_PREFIX=api.EVENT_PREFIX;var mixedCaseEventTypes={};["webkitAnimationStart","webkitAnimationEnd","webkitTransitionEnd","DOMFocusOut","DOMFocusIn","DOMMouseScroll"].forEach(function(e){mixedCaseEventTypes[e.toLowerCase()]=e});var events={parseHostEvents:function(){var delegates=this.prototype.eventDelegates;this.addAttributeDelegates(delegates)},addAttributeDelegates:function(delegates){for(var i=0,a;a=this.attributes[i];i++){if(this.hasEventPrefix(a.name)){delegates[this.removeEventPrefix(a.name)]=a.value.replace("{{","").replace("}}","").trim()}}},hasEventPrefix:function(n){return n&&n[0]==="o"&&n[1]==="n"&&n[2]==="-"},removeEventPrefix:function(n){return n.slice(prefixLength)},findController:function(node){while(node.parentNode){if(node.eventController){return node.eventController}node=node.parentNode}return node.host},getEventHandler:function(controller,target,method){var events=this;return function(e){if(!controller||!controller.PolymerBase){controller=events.findController(target)}var args=[e,e.detail,e.currentTarget];controller.dispatchMethod(controller,method,args)}},prepareEventBinding:function(pathString,name,node){if(!this.hasEventPrefix(name))return;var eventType=this.removeEventPrefix(name);eventType=mixedCaseEventTypes[eventType]||eventType;var events=this;return function(model,node,oneTime){var handler=events.getEventHandler(undefined,node,pathString);PolymerGestures.addEventListener(node,eventType,handler);if(oneTime)return;function bindingValue(){return"{{ "+pathString+" }}"}return{open:bindingValue,discardChanges:bindingValue,close:function(){PolymerGestures.removeEventListener(node,eventType,handler)}}}}};var prefixLength=EVENT_PREFIX.length;scope.api.declaration.events=events})(Polymer);(function(scope){var observationBlacklist=["attribute"];var properties={inferObservers:function(prototype){var observe=prototype.observe,property;for(var n in prototype){if(n.slice(-7)==="Changed"){property=n.slice(0,-7);if(this.canObserveProperty(property)){if(!observe){observe=prototype.observe={}}observe[property]=observe[property]||n}}}},canObserveProperty:function(property){return observationBlacklist.indexOf(property)<0},explodeObservers:function(prototype){var o=prototype.observe;if(o){var exploded={};for(var n in o){var names=n.split(" ");for(var i=0,ni;ni=names[i];i++){exploded[ni]=o[n]}}prototype.observe=exploded}},optimizePropertyMaps:function(prototype){if(prototype.observe){var a=prototype._observeNames=[];for(var n in prototype.observe){var names=n.split(" ");for(var i=0,ni;ni=names[i];i++){a.push(ni)}}}if(prototype.publish){var a=prototype._publishNames=[];for(var n in prototype.publish){a.push(n)}}if(prototype.computed){var a=prototype._computedNames=[];for(var n in prototype.computed){a.push(n)}}},publishProperties:function(prototype,base){var publish=prototype.publish;if(publish){this.requireProperties(publish,prototype,base);this.filterInvalidAccessorNames(publish);prototype._publishLC=this.lowerCaseMap(publish)}var computed=prototype.computed;if(computed){this.filterInvalidAccessorNames(computed)}},filterInvalidAccessorNames:function(propertyNames){for(var name in propertyNames){if(this.propertyNameBlacklist[name]){console.warn('Cannot define property "'+name+'" for element "'+this.name+'" because it has the same name as an HTMLElement '+"property, and not all browsers support overriding that. "+"Consider giving it a different name.");delete propertyNames[name]}}},requireProperties:function(propertyInfos,prototype,base){prototype.reflect=prototype.reflect||{};for(var n in propertyInfos){var value=propertyInfos[n];if(value&&value.reflect!==undefined){prototype.reflect[n]=Boolean(value.reflect);value=value.value}if(value!==undefined){prototype[n]=value}}},lowerCaseMap:function(properties){var map={};for(var n in properties){map[n.toLowerCase()]=n}return map},createPropertyAccessor:function(name,ignoreWrites){var proto=this.prototype;var privateName=name+"_";var privateObservable=name+"Observable_";proto[privateName]=proto[name];Object.defineProperty(proto,name,{get:function(){var observable=this[privateObservable];if(observable)observable.deliver();return this[privateName]},set:function(value){if(ignoreWrites){return this[privateName]}var observable=this[privateObservable];if(observable){observable.setValue(value);return}var oldValue=this[privateName];this[privateName]=value;this.emitPropertyChangeRecord(name,value,oldValue);return value},configurable:true})},createPropertyAccessors:function(prototype){var n$=prototype._computedNames;if(n$&&n$.length){for(var i=0,l=n$.length,n,fn;i<l&&(n=n$[i]);i++){this.createPropertyAccessor(n,true)}}var n$=prototype._publishNames;if(n$&&n$.length){for(var i=0,l=n$.length,n,fn;i<l&&(n=n$[i]);i++){if(!prototype.computed||!prototype.computed[n]){this.createPropertyAccessor(n)}}}},propertyNameBlacklist:{children:1,"class":1,id:1,hidden:1,style:1,title:1}};scope.api.declaration.properties=properties})(Polymer);(function(scope){var ATTRIBUTES_ATTRIBUTE="attributes";var ATTRIBUTES_REGEX=/\s|,/;var attributes={inheritAttributesObjects:function(prototype){this.inheritObject(prototype,"publishLC");this.inheritObject(prototype,"_instanceAttributes")},publishAttributes:function(prototype,base){var attributes=this.getAttribute(ATTRIBUTES_ATTRIBUTE);if(attributes){var publish=prototype.publish||(prototype.publish={});var names=attributes.split(ATTRIBUTES_REGEX);for(var i=0,l=names.length,n;i<l;i++){n=names[i].trim();if(n&&publish[n]===undefined){publish[n]=undefined}}}},accumulateInstanceAttributes:function(){var clonable=this.prototype._instanceAttributes;var a$=this.attributes;for(var i=0,l=a$.length,a;i<l&&(a=a$[i]);i++){if(this.isInstanceAttribute(a.name)){clonable[a.name]=a.value}}},isInstanceAttribute:function(name){return!this.blackList[name]&&name.slice(0,3)!=="on-"},blackList:{name:1,"extends":1,constructor:1,noscript:1,assetpath:1,"cache-csstext":1}};attributes.blackList[ATTRIBUTES_ATTRIBUTE]=1;scope.api.declaration.attributes=attributes})(Polymer);(function(scope){var events=scope.api.declaration.events;var syntax=new PolymerExpressions;var prepareBinding=syntax.prepareBinding;syntax.prepareBinding=function(pathString,name,node){return events.prepareEventBinding(pathString,name,node)||prepareBinding.call(syntax,pathString,name,node)};var mdv={syntax:syntax,fetchTemplate:function(){return this.querySelector("template")},templateContent:function(){var template=this.fetchTemplate();return template&&template.content},installBindingDelegate:function(template){if(template){template.bindingDelegate=this.syntax}}};scope.api.declaration.mdv=mdv})(Polymer);(function(scope){var api=scope.api;var isBase=scope.isBase;var extend=scope.extend;var hasShadowDOMPolyfill=window.ShadowDOMPolyfill;var prototype={register:function(name,extendeeName){this.buildPrototype(name,extendeeName);this.registerPrototype(name,extendeeName);this.publishConstructor()},buildPrototype:function(name,extendeeName){var extension=scope.getRegisteredPrototype(name);var base=this.generateBasePrototype(extendeeName);this.desugarBeforeChaining(extension,base);this.prototype=this.chainPrototypes(extension,base);this.desugarAfterChaining(name,extendeeName)},desugarBeforeChaining:function(prototype,base){prototype.element=this;this.publishAttributes(prototype,base);this.publishProperties(prototype,base);this.inferObservers(prototype);this.explodeObservers(prototype)},chainPrototypes:function(prototype,base){this.inheritMetaData(prototype,base);var chained=this.chainObject(prototype,base);ensurePrototypeTraversal(chained);return chained},inheritMetaData:function(prototype,base){this.inheritObject("observe",prototype,base);this.inheritObject("publish",prototype,base);this.inheritObject("reflect",prototype,base);this.inheritObject("_publishLC",prototype,base);this.inheritObject("_instanceAttributes",prototype,base);this.inheritObject("eventDelegates",prototype,base)},desugarAfterChaining:function(name,extendee){this.optimizePropertyMaps(this.prototype);this.createPropertyAccessors(this.prototype);this.installBindingDelegate(this.fetchTemplate());this.installSheets();this.resolveElementPaths(this);this.accumulateInstanceAttributes();this.parseHostEvents();this.addResolvePathApi();if(hasShadowDOMPolyfill){WebComponents.ShadowCSS.shimStyling(this.templateContent(),name,extendee)}if(this.prototype.registerCallback){this.prototype.registerCallback(this)}},publishConstructor:function(){var symbol=this.getAttribute("constructor");if(symbol){window[symbol]=this.ctor}},generateBasePrototype:function(extnds){var prototype=this.findBasePrototype(extnds);if(!prototype){var prototype=HTMLElement.getPrototypeForTag(extnds);prototype=this.ensureBaseApi(prototype);memoizedBases[extnds]=prototype}return prototype},findBasePrototype:function(name){return memoizedBases[name]},ensureBaseApi:function(prototype){if(prototype.PolymerBase){return prototype}var extended=Object.create(prototype);api.publish(api.instance,extended);this.mixinMethod(extended,prototype,api.instance.mdv,"bind");return extended},mixinMethod:function(extended,prototype,api,name){var $super=function(args){return prototype[name].apply(this,args)};extended[name]=function(){this.mixinSuper=$super;return api[name].apply(this,arguments)}},inheritObject:function(name,prototype,base){var source=prototype[name]||{};prototype[name]=this.chainObject(source,base[name])},registerPrototype:function(name,extendee){var info={prototype:this.prototype};var typeExtension=this.findTypeExtension(extendee);if(typeExtension){info.extends=typeExtension}HTMLElement.register(name,this.prototype);this.ctor=document.registerElement(name,info)},findTypeExtension:function(name){if(name&&name.indexOf("-")<0){return name}else{var p=this.findBasePrototype(name);if(p.element){return this.findTypeExtension(p.element.extends)}}}};var memoizedBases={};if(Object.__proto__){prototype.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){object.__proto__=inherited}return object}}else{prototype.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){var chained=Object.create(inherited);object=extend(chained,object)}return object}}function ensurePrototypeTraversal(prototype){if(!Object.__proto__){var ancestor=Object.getPrototypeOf(prototype);prototype.__proto__=ancestor;if(isBase(ancestor)){ancestor.__proto__=Object.getPrototypeOf(ancestor)}}}api.declaration.prototype=prototype})(Polymer);(function(scope){var queue={wait:function(element){if(!element.__queue){element.__queue={};elements.push(element)}},enqueue:function(element,check,go){var shouldAdd=element.__queue&&!element.__queue.check;if(shouldAdd){queueForElement(element).push(element);element.__queue.check=check;element.__queue.go=go}return this.indexOf(element)!==0},indexOf:function(element){var i=queueForElement(element).indexOf(element);if(i>=0&&document.contains(element)){i+=HTMLImports.useNative||HTMLImports.ready?importQueue.length:1e9}return i},go:function(element){var readied=this.remove(element);if(readied){element.__queue.flushable=true;this.addToFlushQueue(readied);this.check()}},remove:function(element){var i=this.indexOf(element);if(i!==0){return}return queueForElement(element).shift()},check:function(){var element=this.nextElement();if(element){element.__queue.check.call(element)}if(this.canReady()){this.ready();return true}},nextElement:function(){return nextQueued()},canReady:function(){return!this.waitToReady&&this.isEmpty()},isEmpty:function(){for(var i=0,l=elements.length,e;i<l&&(e=elements[i]);i++){if(e.__queue&&!e.__queue.flushable){return}}return true},addToFlushQueue:function(element){flushQueue.push(element)},flush:function(){if(this.flushing){return}this.flushing=true;var element;while(flushQueue.length){element=flushQueue.shift();element.__queue.go.call(element);element.__queue=null}this.flushing=false},ready:function(){var polyfillWasReady=CustomElements.ready;CustomElements.ready=false;this.flush();if(!CustomElements.useNative){CustomElements.upgradeDocumentTree(document)}CustomElements.ready=polyfillWasReady;Polymer.flush();requestAnimationFrame(this.flushReadyCallbacks)},addReadyCallback:function(callback){if(callback){readyCallbacks.push(callback)}},flushReadyCallbacks:function(){if(readyCallbacks){var fn;while(readyCallbacks.length){fn=readyCallbacks.shift();fn()}}},waitingFor:function(){var e$=[];for(var i=0,l=elements.length,e;i<l&&(e=elements[i]);i++){if(e.__queue&&!e.__queue.flushable){e$.push(e)}}return e$},waitToReady:true};var elements=[];var flushQueue=[];var importQueue=[];var mainQueue=[];var readyCallbacks=[];function queueForElement(element){return document.contains(element)?mainQueue:importQueue}function nextQueued(){return importQueue.length?importQueue[0]:mainQueue[0]}function whenReady(callback){queue.waitToReady=true;Polymer.endOfMicrotask(function(){HTMLImports.whenReady(function(){queue.addReadyCallback(callback);queue.waitToReady=false;queue.check()})})}function forceReady(timeout){if(timeout===undefined){queue.ready();return}var handle=setTimeout(function(){queue.ready()},timeout);Polymer.whenReady(function(){clearTimeout(handle)})}scope.elements=elements;scope.waitingFor=queue.waitingFor.bind(queue);scope.forceReady=forceReady;scope.queue=queue;scope.whenReady=scope.whenPolymerReady=whenReady})(Polymer);(function(scope){var extend=scope.extend;var api=scope.api;var queue=scope.queue;var whenReady=scope.whenReady;var getRegisteredPrototype=scope.getRegisteredPrototype;var waitingForPrototype=scope.waitingForPrototype;var prototype=extend(Object.create(HTMLElement.prototype),{createdCallback:function(){if(this.getAttribute("name")){this.init()}},init:function(){this.name=this.getAttribute("name");this.extends=this.getAttribute("extends");queue.wait(this);this.loadResources();this.registerWhenReady()},registerWhenReady:function(){if(this.registered||this.waitingForPrototype(this.name)||this.waitingForQueue()||this.waitingForResources()){return}queue.go(this)},_register:function(){if(isCustomTag(this.extends)&&!isRegistered(this.extends)){console.warn("%s is attempting to extend %s, an unregistered element "+"or one that was not registered with Polymer.",this.name,this.extends)}this.register(this.name,this.extends);this.registered=true},waitingForPrototype:function(name){if(!getRegisteredPrototype(name)){waitingForPrototype(name,this);this.handleNoScript(name);return true}},handleNoScript:function(name){if(this.hasAttribute("noscript")&&!this.noscript){this.noscript=true;Polymer(name)}},waitingForResources:function(){return this._needsResources},waitingForQueue:function(){return queue.enqueue(this,this.registerWhenReady,this._register)},loadResources:function(){this._needsResources=true;this.loadStyles(function(){this._needsResources=false;this.registerWhenReady()}.bind(this))}});api.publish(api.declaration,prototype);function isRegistered(name){return Boolean(HTMLElement.getPrototypeForTag(name))}function isCustomTag(name){return name&&name.indexOf("-")>=0}whenReady(function(){document.body.removeAttribute("unresolved");document.dispatchEvent(new CustomEvent("polymer-ready",{bubbles:true}))});document.registerElement("polymer-element",{prototype:prototype})})(Polymer);(function(scope){var whenReady=scope.whenReady;function importElements(node,callback){if(node){document.head.appendChild(node);whenReady(callback)}else if(callback){callback()}}function _import(urls,callback){if(urls&&urls.length){var frag=document.createDocumentFragment();for(var i=0,l=urls.length,url,link;i<l&&(url=urls[i]);i++){link=document.createElement("link");link.rel="import";link.href=url;frag.appendChild(link)}importElements(frag,callback)}else if(callback){callback()}}scope.import=_import;scope.importElements=importElements})(Polymer);(function(){var element=document.createElement("polymer-element");element.setAttribute("name","auto-binding");element.setAttribute("extends","template");element.init();Polymer("auto-binding",{createdCallback:function(){this.syntax=this.bindingDelegate=this.makeSyntax();Polymer.whenPolymerReady(function(){this.model=this;this.setAttribute("bind","");this.async(function(){this.marshalNodeReferences(this.parentNode);this.fire("template-bound")})}.bind(this))},makeSyntax:function(){var events=Object.create(Polymer.api.declaration.events);var self=this;events.findController=function(){return self.model};var syntax=new PolymerExpressions;var prepareBinding=syntax.prepareBinding;syntax.prepareBinding=function(pathString,name,node){return events.prepareEventBinding(pathString,name,node)||prepareBinding.call(syntax,pathString,name,node)};return syntax}})})();Polymer.mixin2=function(prototype,mixin){if(mixin.mixinPublish){prototype.publish=prototype.publish||{};Polymer.mixin(prototype.publish,mixin.mixinPublish)}if(mixin.mixinDelegates){prototype.eventDelegates=prototype.eventDelegates||{};for(var e in mixin.mixinDelegates){if(!prototype.eventDelegates[e]){prototype.eventDelegates[e]=mixin.mixinDelegates[e]}}}if(mixin.mixinObserve){prototype.observe=prototype.observe||{};for(var o in mixin.mixinObserve){if(!prototype.observe[o]&&!prototype[o+"Changed"]){prototype.observe[o]=mixin.mixinObserve[o]}}}Polymer.mixin(prototype,mixin);delete prototype.mixinPublish;delete prototype.mixinDelegates;delete prototype.mixinObserve;return prototype};Polymer.CoreFocusable={mixinPublish:{active:{value:false,reflect:true},focused:{value:false,reflect:true},pressed:{value:false,reflect:true},disabled:{value:false,reflect:true},toggle:false},mixinDelegates:{contextMenu:"_contextMenuAction",down:"_downAction",up:"_upAction",focus:"_focusAction",blur:"_blurAction"},mixinObserve:{disabled:"_disabledChanged"},_disabledChanged:function(){if(this.disabled){this.style.pointerEvents="none";this.removeAttribute("tabindex");this.setAttribute("aria-disabled","")}else{this.style.pointerEvents="";this.setAttribute("tabindex",0);this.removeAttribute("aria-disabled")}},_downAction:function(){this.pressed=true;if(this.toggle){this.active=!this.active}else{this.active=true}},_contextMenuAction:function(e){this._upAction(e);this._focusAction()},_upAction:function(){this.pressed=false;if(!this.toggle){this.active=false}},_focusAction:function(){if(!this.pressed){this.focused=true}},_blurAction:function(){this.focused=false}};(function(scope){scope.CoreResizable={resizableAttachedHandler:function(cb){cb=cb||this._notifyResizeSelf;this.async(function(){var detail={callback:cb,hasParentResizer:false};this.fire("core-request-resize",detail);if(!detail.hasParentResizer){this._boundWindowResizeHandler=cb.bind(this);window.addEventListener("resize",this._boundWindowResizeHandler)}}.bind(this))},resizableDetachedHandler:function(){this.fire("core-request-resize-cancel",null,this,false);if(this._boundWindowResizeHandler){window.removeEventListener("resize",this._boundWindowResizeHandler)}},_notifyResizeSelf:function(){return this.fire("core-resize",null,this,false).defaultPrevented}};scope.CoreResizer=Polymer.mixin({resizerAttachedHandler:function(){this.resizableAttachedHandler(this.notifyResize);this._boundResizeRequested=this._boundResizeRequested||this._handleResizeRequested.bind(this);var listener;if(this.resizerIsPeer){listener=this.parentElement||this.parentNode&&this.parentNode.host;listener._resizerPeers=listener._resizerPeers||[];listener._resizerPeers.push(this)}else{listener=this}listener.addEventListener("core-request-resize",this._boundResizeRequested);this._resizerListener=listener},resizerDetachedHandler:function(){this.resizableDetachedHandler();this._resizerListener.removeEventListener("core-request-resize",this._boundResizeRequested)},notifyResize:function(){if(!this._notifyResizeSelf()){var r=this.resizeRequestors;if(r){for(var i=0;i<r.length;i++){var ri=r[i];if(!this.resizerShouldNotify||this.resizerShouldNotify(ri.target)){ri.callback.apply(ri.target)}}}}},_handleResizeRequested:function(e){var target=e.path[0];if(target==this||target==this._resizerListener||this._resizerPeers&&this._resizerPeers.indexOf(target)<0){return}if(!this.resizeRequestors){this.resizeRequestors=[]}this.resizeRequestors.push({target:target,callback:e.detail.callback});target.addEventListener("core-request-resize-cancel",this._cancelResizeRequested.bind(this));e.detail.hasParentResizer=true;e.stopPropagation()},_cancelResizeRequested:function(e){if(this.resizeRequestors){for(var i=0;i<this.resizeRequestors.length;i++){if(this.resizeRequestors[i].target==e.target){this.resizeRequestors.splice(i,1);break}}}}},Polymer.CoreResizable)})(Polymer);!function(a,b){b["true"]=a;var c={},d={},e={},f=null;!function(a){function b(b,c){var d={delay:0,endDelay:0,fill:c?"both":"none",iterationStart:0,iterations:1,duration:c?"auto":0,playbackRate:1,direction:"normal",easing:"linear"};return"number"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if("auto"!=b[c]){if(("number"==typeof d[c]||"duration"==c)&&("number"!=typeof b[c]||isNaN(b[c])))return;if("fill"==c&&-1==p.indexOf(b[c]))return;if("direction"==c&&-1==q.indexOf(b[c]))return;if("playbackRate"==c&&1!==b[c]&&a.isDeprecated("AnimationTiming.playbackRate","2014-11-28","Use AnimationPlayer.playbackRate instead."))return;d[c]=b[c]}}):d.duration=b,d}function c(a,c){var d=b(a,c);return d.easing=f(d.easing),d}function d(a,b,c,d){return 0>a||a>1||0>c||c>1?y:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}}}function e(a,b){return function(c){if(c>=1)return 1;var d=1/a;return c+=b*d,c-c%d}}function f(a){var b=w.exec(a);if(b)return d.apply(this,b.slice(1).map(Number));var c=x.exec(a);if(c)return e(Number(c[1]),{start:r,middle:s,end:t}[c[2]]);var f=u[a];return f?f:y}function g(a){return Math.abs(h(a)/a.playbackRate)}function h(a){return a.duration*a.iterations}function i(a,b,c){return null==b?z:b<c.delay?A:b>=c.delay+a?B:C}function j(a,b,c,d,e){switch(d){case A:return"backwards"==b||"both"==b?0:null;case C:return c-e;case B:return"forwards"==b||"both"==b?a:null;case z:return null}}function k(a,b,c,d){return(d.playbackRate<0?b-a:b)*d.playbackRate+c}function l(a,b,c,d,e){return 1/0===c||c===-1/0||c-d==b&&e.iterations&&(e.iterations+e.iterationStart)%1==0?a:c%a}function m(a,b,c,d){return 0===c?0:b==a?d.iterationStart+d.iterations-1:Math.floor(c/a)}function n(a,b,c,d){var e=a%2>=1,f="normal"==d.direction||d.direction==(e?"alternate-reverse":"alternate"),g=f?c:b-c,h=g/b;return b*d.easing(h)}function o(a,b,c){var d=i(a,b,c),e=j(a,c.fill,b,d,c.delay);if(null===e)return null;if(0===a)return d===A?0:1;var f=c.iterationStart*c.duration,g=k(a,e,f,c),o=l(c.duration,h(c),g,f,c),p=m(c.duration,o,g,c);return n(p,c.duration,o,c)/c.duration}var p="backwards|forwards|both|none".split("|"),q="reverse|alternate|alternate-reverse".split("|"),r=1,s=.5,t=0,u={ease:d(.25,.1,.25,1),"ease-in":d(.42,0,1,1),"ease-out":d(0,0,.58,1),"ease-in-out":d(.42,0,.58,1),"step-start":e(1,r),"step-middle":e(1,s),"step-end":e(1,t)},v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",w=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),x=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,y=function(a){return a},z=0,A=1,B=2,C=3;a.makeTiming=b,a.normalizeTimingInput=c,a.calculateActiveDuration=g,a.calculateTimeFraction=o,a.calculatePhase=i,a.toTimingFunction=f}(c,f),function(a){function b(a,b){return a in h?h[a][b]||b:b}function c(a,c,d){var g=e[a];if(g){f.style[a]=c;for(var h in g){var i=g[h],j=f.style[i];d[i]=b(i,j)}}else d[a]=b(a,c)}function d(b){function d(){var a=e.length;null==e[a-1].offset&&(e[a-1].offset=1),a>1&&null==e[0].offset&&(e[0].offset=0);for(var b=0,c=e[0].offset,d=1;a>d;d++){var f=e[d].offset;if(null!=f){for(var g=1;d-b>g;g++)e[b+g].offset=c+(f-c)*g/(d-b);b=d,c=f}}}if(!Array.isArray(b)&&null!==b)throw new TypeError("Keyframe effect must be null or an array of keyframes");if(null==b)return[];for(var e=b.map(function(b){var d={};for(var e in b){var f=b[e];if("offset"==e){if(null!=f&&(f=Number(f),!isFinite(f)))throw new TypeError("keyframe offsets must be numbers.")}else{if("composite"==e)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};f="easing"==e?a.toTimingFunction(f):""+f}c(e,f,d)}return void 0==d.offset&&(d.offset=null),void 0==d.easing&&(d.easing=a.toTimingFunction("linear")),d}),f=!0,g=-1/0,h=0;h<e.length;h++){var i=e[h].offset;if(null!=i){if(g>i)throw{code:DOMException.INVALID_MODIFICATION_ERR,name:"InvalidModificationError",message:"Keyframes are not loosely sorted by offset. Sort or specify offsets."};g=i}else f=!1}return e=e.filter(function(a){return a.offset>=0&&a.offset<=1}),f||d(),e}var e={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},f=document.createElementNS("http://www.w3.org/1999/xhtml","div"),g={thin:"1px",medium:"3px",thick:"5px"},h={borderBottomWidth:g,borderLeftWidth:g,borderRightWidth:g,borderTopWidth:g,fontSize:{"xx-small":"60%","x-small":"75%",small:"89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{normal:"400",bold:"700"},outlineWidth:g,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};a.normalizeKeyframes=d}(c,f),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?"are":"is",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),h>g?(a in b||console.warn("Web Animations: "+a+" "+f+" deprecated and will stop working on "+h.toDateString()+". "+d),b[a]=!0,!1):!0},a.deprecated=function(b,c,d,e){if(a.isDeprecated(b,c,d,e))throw new Error(b+" "+auxVerb+" no longer supported. "+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;
if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b){b.AnimationNode=function(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateTimeFraction(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d._isCurrent=function(d){var e=a.calculatePhase(c,d,b);return e===PhaseActive||e===PhaseBefore},d}}(c,d),function(a,b){function c(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if("offset"!=d&&"easing"!=d&&"composite"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return b}function d(a){var c=[];for(var d in a)for(var e=a[d],f=0;f<e.length-1;f++){var g=e[f].offset,h=e[f+1].offset,i=e[f].value,j=e[f+1].value;g==h&&(1==h?i=j:j=i),c.push({startTime:g,endTime:h,easing:e[f].easing,property:d,interpolation:b.propertyInterpolation(d,i,j)})}return c.sort(function(a,b){return a.startTime-b.startTime}),c}b.convertEffectInput=function(e){var f=a.normalizeKeyframes(e),g=c(f),h=d(g);return function(a,c){if(null!=c)h.filter(function(a){return 0>=c&&0==a.startTime||c>=1&&1==a.endTime||c>=a.startTime&&c<=a.endTime}).forEach(function(d){var e=c-d.startTime,f=d.endTime-d.startTime,g=0==f?0:d.easing(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)"offset"!=d&&"easing"!=d&&"composite"!=d&&b.clear(a,d)}}}(c,d,f),function(a){function b(a,b,c){e[c]=e[c]||[],e[c].push([a,b])}function c(a,c,d){for(var e=0;e<d.length;e++){var f=d[e];b(a,c,f),/-/.test(f)&&b(a,c,f.replace(/-(.)/g,function(a,b){return b.toUpperCase()}))}}function d(b,c,d){for(var f=c==d?[]:e[b],g=0;f&&g<f.length;g++){var h=f[g][0](c),i=f[g][0](d);if(void 0!==h&&void 0!==i){var j=f[g][1](h,i);if(j){var k=a.Interpolation.apply(null,j);return function(a){return 0==a?c:1==a?d:k(a)}}}}return a.Interpolation(!1,!0,function(a){return a?d:c})}var e={};a.addPropertiesHandler=c,a.propertyInterpolation=d}(d,f),function(a,b){b.Animation=function(c,d,e){var f,g=b.AnimationNode(a.normalizeTimingInput(e)),h=b.convertEffectInput(d),i=function(){h(c,f)};return i._update=function(a){return f=g(a),null!==f},i._clear=function(){h(c,null)},i._hasSameTarget=function(a){return c===a},i._isCurrent=g._isCurrent,i._totalDuration=g._totalDuration,i},b.NullAnimation=function(a){var b=function(){a&&(a(),a=null)};return b._update=function(){return null},b._totalDuration=0,b._isCurrent=function(){return!1},b._hasSameTarget=function(){return!1},b}}(c,d,f),function(a){a.apply=function(b,c,d){b.style[a.propertyName(c)]=d},a.clear=function(b,c){b.style[a.propertyName(c)]=""}}(d,f),function(a){window.Element.prototype.animate=function(b,c){return a.timeline._play(a.Animation(this,b,c))}}(d),function(a){function b(a,c,d){if("number"==typeof a&&"number"==typeof c)return a*(1-d)+c*d;if("boolean"==typeof a&&"boolean"==typeof c)return.5>d?a:c;if(a.length==c.length){for(var e=[],f=0;f<a.length;f++)e.push(b(a[f],c[f],d));return e}throw"Mismatched interpolation arguments "+a+":"+c}a.Interpolation=function(a,c,d){return function(e){return d(b(a,c,e))}}}(d,f),function(a){var b=0,c=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};a.Player=function(a){this._sequenceNumber=b++,this._currentTime=0,this._startTime=null,this.paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!1,this.onfinish=null,this._finishHandlers=[],this._source=a,this._inEffect=this._source._update(0),this._idle=!0,this._currentTimePending=!1},a.Player.prototype={_ensureAlive:function(){this._inEffect=this._source._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,a.timeline._players.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this.finished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(b){b=+b,isNaN(b)||(a.restart(),this.paused||null==this._startTime||(this._startTime=this._timeline.currentTime-b/this._playbackRate),this._currentTimePending=!1,this._currentTime!=b&&(this._tickCurrentTime(b,!0),a.invalidateEffects()))},get startTime(){return this._startTime},set startTime(b){b=+b,isNaN(b)||this.paused||this._idle||(this._startTime=b,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),a.invalidateEffects())},get playbackRate(){return this._playbackRate},set playbackRate(a){var b=this.currentTime;this._playbackRate=a,null!=b&&(this.currentTime=b)},get finished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._source._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this.paused&&0!=this.playbackRate||this._currentTimePending?"pending":this.paused?"paused":this.finished?"finished":"running"},play:function(){this.paused=!1,(this.finished||this._idle)&&(this._currentTime=this._playbackRate>0?0:this._totalDuration,this._startTime=null,a.invalidateEffects()),this._finishedFlag=!1,a.restart(),this._idle=!1,this._ensureAlive()},pause:function(){this.finished||this.paused||this._idle||(this._currentTimePending=!0),this._startTime=null,this.paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1)},cancel:function(){this._inEffect=!1,this._idle=!0,this.currentTime=0,this._startTime=null},reverse:function(){this._playbackRate*=-1,this._startTime=null,this.play()},addEventListener:function(a,b){"function"==typeof b&&"finish"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if("finish"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){var b=this.finished;if((b||this._idle)&&!this._finishedFlag){var d=new c(this,this._currentTime,a),e=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){e.forEach(function(a){a.call(d.target,d)})},0)}this._finishedFlag=b},_tick:function(a){return this._idle||this.paused||(null==this._startTime?this.startTime=a-this._currentTime/this.playbackRate:this.finished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),this._currentTimePending=!1,this._fireEvents(a),!this._idle&&(this._inEffect||!this._finishedFlag)}}}(d,f),function(a,b){function c(a){var b=i;i=[],g(a),b.forEach(function(b){b[1](a)}),m&&g(a),f()}function d(a,b){return a._sequenceNumber-b._sequenceNumber}function e(){this._players=[],this.currentTime=window.performance&&performance.now?performance.now():0}function f(){n.forEach(function(a){a()}),n.length=0}function g(a){l=!1;var c=b.timeline;c.currentTime=a,c._players.sort(d),k=!1;var e=c._players;c._players=[];var f=[],g=[];e=e.filter(function(b){return b._inTimeline=b._tick(a),b._inEffect?g.push(b._source):f.push(b._source),b.finished||b.paused||b._idle||(k=!0),b._inTimeline}),n.push.apply(n,f),n.push.apply(n,g),c._players.push.apply(c._players,e),m=!1,k&&requestAnimationFrame(function(){})}var h=window.requestAnimationFrame,i=[],j=0;window.requestAnimationFrame=function(a){var b=j++;return 0==i.length&&h(c),i.push([b,a]),b},window.cancelAnimationFrame=function(a){i.forEach(function(b){b[0]==a&&(b[1]=function(){})})},e.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Player(c);return d._idle=!1,d._timeline=this,this._players.push(d),b.restart(),b.invalidateEffects(),d}};var k=!1,l=!1;b.restart=function(){return k||(k=!0,requestAnimationFrame(function(){}),l=!0),l};var m=!1;b.invalidateEffects=function(){m=!0};var n=[],o=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){return m&&g(p.currentTime),f(),o.apply(this,arguments)}});var p=new e;b.timeline=p}(c,d,f),function(a){function b(a,b){var c=a.exec(b);return c?(c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]):void 0}function c(a,b){b=b.replace(/^\s*/,"");var c=a(b);return c?[c[0],c[1].replace(/^\s*/,"")]:void 0}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],g=b(d,e),!g||""==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\s|,/.test(b[d])||0!=c);d++)if("("==b[d])c++;else if(")"==b[d]&&(c--,0==c&&d++,0>=c))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){var d=a(c);return d?d:[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||""==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}return""==c?d:void 0}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;j>k;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if("function"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b="",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);return e&&e[0].length?[d,e[1]]:void 0}function c(c){var d=a.consumeRepeated(b,/^,/,c);return d&&""==d[1]?d[0]:void 0}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?"inset ":" ",f=0;f<e.length;f++)c+=e[f](a[0][f])+" ";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,", ");a.addPropertiesHandler(c,f,["box-shadow","text-shadow"])}(d),function(a){function b(a){return a.toFixed(3).replace(".000","")}function c(a,b,c){return Math.min(b,Math.max(a,c))}function d(a){return/^\s*[-+]?(\d*\.)?\d+\s*$/.test(a)?Number(a):void 0}function e(a,c){return[a,c,b]}function f(a,b){return 0!=a?h(0,1/0)(a,b):void 0}function g(a,b){return[a,b,function(a){return Math.round(c(1,1/0,a))}]}function h(a,d){return function(e,f){return[e,f,function(e){return b(c(a,d,e))}]}}function i(a,b){return[a,b,Math.round]}a.clamp=c,a.addPropertiesHandler(d,h(0,1/0),["border-image-width","line-height"]),a.addPropertiesHandler(d,h(0,1),["opacity","shape-image-threshold"]),a.addPropertiesHandler(d,f,["flex-grow","flex-shrink"]),a.addPropertiesHandler(d,g,["orphans","widows"]),a.addPropertiesHandler(d,i,["z-index"]),a.parseNumber=d,a.mergeNumbers=e,a.numberToString=b}(d,f),function(a){function b(a,b){return"visible"==a||"visible"==b?[0,1,function(c){return 0>=c?a:c>=1?b:"visible"}]:void 0}a.addPropertiesHandler(String,b,["visibility"])}(d),function(a){function b(a){a=a.trim(),e.fillStyle="#000",e.fillStyle=a;var b=e.fillStyle;if(e.fillStyle="#fff",e.fillStyle=a,b==e.fillStyle){e.fillRect(0,0,1,1);var c=e.getImageData(0,0,1,1).data;e.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function c(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;3>d;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),"rgba("+b.join(",")+")"}]}var d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=d.height=1;var e=d.getContext("2d");a.addPropertiesHandler(b,c,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),a.consumeColor=a.consumeParenthesised.bind(null,b),a.mergeColors=c}(d,f),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(a){return c[a]=null,"U"+a});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace(new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(a,b){return e(a,b,!0)}function e(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(" + ");return b.length>1?"calc("+c+")":c}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind(null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=function(a){var b=l(a);return b&&""==b[1]?b[0]:void 0},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair=n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(a){function b(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function c(c){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\(/)),a.consumeRepeated.bind(null,b,/^,/),a.ignore(a.consumeToken.bind(null,/^\)/))],c);return d&&4==d[0].length?d[0]:void 0}function d(b,c){return"auto"==b||"auto"==c?[!0,!1,function(d){var e=d?b:c;if("auto"==e)return"auto";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function e(a){return"rect("+a+")"}var f=a.mergeWrappedNestedRepeated.bind(null,e,d,", ");a.parseBox=c,a.mergeBoxes=f,a.addPropertiesHandler(c,f,["clip"])}(d,f),function(a){function b(a){return function(b){var c=0;return a.map(function(a){return a===j?b[c++]:a})}}function c(a){return a}function d(b){if(b=b.toLowerCase().trim(),"none"==b)return[];for(var c,d=/\s*(\w+)\(([^)]*)\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=m[g];if(!h)return;var i=c[2].split(","),j=h[0];if(j.length<i.length)return;for(var n=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(p=q?{A:function(b){return"0"==b.trim()?l:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:l,n:n[0],t:k}[r],void 0===p)return;n.push(p)}if(e.push({t:g,d:n}),d.lastIndex==b.length)return e}}function e(a){return a.toFixed(6).replace(".000000","")}function f(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var f=a.makeMatrixDecomposition(c)}return null==d[0]||null==f[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),f[0].push(1),[d,f,function(b){var c=a.quat(d[0][3],f[0][3],b[5]),g=a.composeMatrix(b[0],b[1],b[2],c,b[4]),h=g.map(e).join(",");return h}])}function g(a){return a.replace(/[xy]/,"")}function h(a){return a.replace(/(x|y|z|3d)?$/,"3d")}function i(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var i=0;i<b.length;i++){var j=b[i].t,k=b[i].d,l="scale"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if("number"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var n=function(a,b){return"perspective"==a&&"perspective"==b||("matrix"==a||"matrix3d"==a)&&("matrix"==b||"matrix3d"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]]}else for(var i=0;i<b.length;i++){var j,s=b[i].t,t=c[i].t,u=b[i].d,v=c[i].d,w=m[s],x=m[t];if(n(s,t)){if(!d)return;var r=f([b[i]],[c[i]]);o.push(r[0]),p.push(r[1]),q.push(["matrix",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&g(s)==g(t))j=g(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||h(s)!=h(t)){if(!d)return;var r=f(b,c);o=[r[0]],p=[r[1]],q=[["matrix",[r[2]]]];break}j=h(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C="number"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(",");return"matrix"==q[b][0]&&16==c.split(",").length&&(q[b][0]="matrix3d"),q[b][0]+"("+c+")"}).join(" ")}]}var j=null,k={px:0},l={deg:0},m={matrix:["NNNNNN",[j,j,0,0,j,j,0,0,0,0,1,0,j,j,0,1],c],matrix3d:["NNNNNNNNNNNNNNNN",c],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",b([j,j,1]),c],scalex:["N",b([j,1,1]),b([j,1])],scaley:["N",b([1,j,1]),b([1,j])],scalez:["N",b([1,1,j])],scale3d:["NNN",c],skew:["Aa",null,c],skewx:["A",null,b([j,l])],skewy:["A",null,b([l,j])],translate:["Tt",b([j,j,k]),c],translatex:["T",b([j,k,k]),b([j,k])],translatey:["T",b([k,j,k]),b([k,j])],translatez:["L",b([k,k,j])],translate3d:["TTL",c]};a.addPropertiesHandler(d,i,["transform"])}(d,f),function(a){function b(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(c[a]=b)})}var c={};b("transform",["webkitTransform","msTransform"]),b("transformOrigin",["webkitTransformOrigin"]),b("perspective",["webkitPerspective"]),b("perspectiveOrigin",["webkitPerspectiveOrigin"]),a.propertyName=function(a){return c[a]||a}}(d,f)}(),!function(a,b){function c(a){var b=window.document.timeline;b.currentTime=a,b._discardPlayers(),0==b._players.length?d=!1:requestAnimationFrame(c)}b.AnimationTimeline=function(){this._players=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimationPlayers:function(){return this._discardPlayers(),this._players.slice()},_discardPlayers:function(){this._players=this._players.filter(function(a){return"finished"!=a.playState&&"idle"!=a.playState})},play:function(a){var c=new b.Player(a);return this._players.push(c),b.restartWebAnimationsNextTick(),c._player.play(),c}};var d=!1;b.restartWebAnimationsNextTick=function(){d||(d=!0,requestAnimationFrame(c))};var e=new b.AnimationTimeline;b.timeline=e;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return e}})}catch(f){}try{window.document.timeline=e}catch(f){}}(c,e,f),function(a,b){b.Player=function(a){this.source=a,a&&(a.player=this),this._isGroup=!1,this._player=null,this._childPlayers=[],this._callback=null,this._rebuildUnderlyingPlayer(),this._player.cancel()},b.Player.prototype={_rebuildUnderlyingPlayer:function(){this._player&&(this._player.cancel(),this._player=null),(!this.source||this.source instanceof window.Animation)&&(this._player=b.newUnderlyingPlayerForAnimation(this.source),b.bindPlayerForAnimation(this)),(this.source instanceof window.AnimationSequence||this.source instanceof window.AnimationGroup)&&(this._player=b.newUnderlyingPlayerForGroup(this.source),b.bindPlayerForGroup(this))},_updateChildren:function(){if(this.source&&"idle"!=this.playState){var a=this.source._timing.delay;this._childPlayers.forEach(function(c){this._arrangeChildren(c,a),this.source instanceof window.AnimationSequence&&(a+=b.groupChildDuration(c.source))}.bind(this))}},_setExternalPlayer:function(a){if(this.source&&this._isGroup)for(var b=0;b<this.source.children.length;b++)this.source.children[b].player=a,this._childPlayers[b]._setExternalPlayer(a)},_constructChildren:function(){if(this.source&&this._isGroup){var a=this.source._timing.delay;this.source.children.forEach(function(c){var d=window.document.timeline.play(c);this._childPlayers.push(d),d.playbackRate=this.playbackRate,this.paused&&d.pause(),c.player=this.source.player,this._arrangeChildren(d,a),this.source instanceof window.AnimationSequence&&(a+=b.groupChildDuration(c))}.bind(this))}},_arrangeChildren:function(a,b){null===this.startTime?(a.currentTime=this.source.player.currentTime-b,a._startTime=null):a.startTime!==this.startTime+b&&(a.startTime=this.startTime+b)},get paused(){return this._player.paused},get playState(){return this._player.playState},get onfinish(){return this._onfinish},set onfinish(a){"function"==typeof a?(this._onfinish=a,this._player.onfinish=function(b){b.target=this,a.call(this,b)}.bind(this)):(this._player.onfinish=a,this.onfinish=this._player.onfinish)},get currentTime(){return this._player.currentTime},set currentTime(a){this._player.currentTime=a,this._register(),this._forEachChild(function(b,c){b.currentTime=a-c})},get startTime(){return this._player.startTime},set startTime(a){this._player.startTime=a,this._register(),this._forEachChild(function(b,c){b.startTime=a+c})},get playbackRate(){return this._player.playbackRate},set playbackRate(a){this._player.playbackRate=a,this._forEachChild(function(b){b.playbackRate=a})},get finished(){return this._player.finished},play:function(){this._player.play(),this._register(),b.awaitStartTime(this),this._forEachChild(function(a){var b=a.currentTime;a.play(),a.currentTime=b})},pause:function(){this._player.pause(),this._register(),this._forEachChild(function(a){a.pause()})},finish:function(){this._player.finish(),this._register()},cancel:function(){this._player.cancel(),this._register(),this._removePlayers()},reverse:function(){this._player.reverse(),b.awaitStartTime(this),this._register(),this._forEachChild(function(a,b){a.reverse(),a.startTime=this.startTime+b*this.playbackRate,a.currentTime=this.currentTime+b*this.playbackRate})},addEventListener:function(a,b){var c=b;"function"==typeof b&&(c=function(a){a.target=this,b.call(this,a)}.bind(this),b._wrapper=c),this._player.addEventListener(a,c)},removeEventListener:function(a,b){this._player.removeEventListener(a,b&&b._wrapper||b)},_removePlayers:function(){for(;this._childPlayers.length;)this._childPlayers.pop().cancel()},_forEachChild:function(b){var c=0;if(this.source.children&&this._childPlayers.length<this.source.children.length&&this._constructChildren(),this._childPlayers.forEach(function(a){b.call(this,a,c),this.source instanceof window.AnimationSequence&&(c+=a.source.activeDuration)}.bind(this)),"pending"!=this._player.playState){var d=this.source._timing,e=this._player.currentTime;null!==e&&(e=a.calculateTimeFraction(a.calculateActiveDuration(d),e,d)),(null==e||isNaN(e))&&this._removePlayers()}}}}(c,e,f),function(a,b){function c(b){this._frames=a.normalizeKeyframes(b)}function d(){for(var a=!1;g.length;)g.shift()._updateChildren(),a=!0;return a}c.prototype={getFrames:function(){return this._frames}},b.Animation=function(b,d,e){return this.target=b,this._timingInput=e,this._timing=a.normalizeTimingInput(e),this.timing=a.makeTiming(e),this.effect="function"==typeof d?d:new c(d),this._effect=d,this.activeDuration=a.calculateActiveDuration(this._timing),this};var e=Element.prototype.animate;Element.prototype.animate=function(a,c){return b.timeline.play(new b.Animation(this,a,c))};var f=document.createElementNS("http://www.w3.org/1999/xhtml","div");b.newUnderlyingPlayerForAnimation=function(a){var b=a.target||f,c=a._effect;return"function"==typeof c&&(c=[]),e.apply(b,[c,a._timingInput])},b.bindPlayerForAnimation=function(a){a.source&&"function"==typeof a.source.effect&&b.bindPlayerForCustomEffect(a)};var g=[];b.awaitStartTime=function(a){null===a.startTime&&a._isGroup&&(0==g.length&&requestAnimationFrame(d),g.push(a))};var h=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){var a=h.apply(this,arguments);return d()&&(a=h.apply(this,arguments)),a}}),window.Animation=b.Animation,window.Element.prototype.getAnimationPlayers=function(){return document.timeline.getAnimationPlayers().filter(function(a){return null!==a.source&&a.source.target==this}.bind(this))}}(c,e,f),function(a,b){function c(a){a._registered||(a._registered=!0,f.push(a),g||(g=!0,requestAnimationFrame(d)))}function d(){var a=f;f=[],a.sort(function(a,b){return a._sequenceNumber-b._sequenceNumber}),a=a.filter(function(a){a();var b=a._player?a._player.playState:"idle";return"running"!=b&&"pending"!=b&&(a._registered=!1),a._registered}),f.push.apply(f,a),f.length?(g=!0,requestAnimationFrame(d)):g=!1}var e=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);b.bindPlayerForCustomEffect=function(b){var d=b.source.target,f=b.source.effect,g=b.source.timing,h=void 0;g=a.normalizeTimingInput(g);var i=function(){var c=i._player?i._player.currentTime:null;null!==c&&(c=a.calculateTimeFraction(a.calculateActiveDuration(g),c,g),isNaN(c)&&(c=null)),c!==h&&f(c,d,b.source),h=c};i._player=b,i._registered=!1,i._sequenceNumber=e++,b._callback=i,c(i)};var f=[],g=!1;b.Player.prototype._register=function(){this._callback&&c(this._callback)}}(c,e,f),function(a,b){function c(a){return a._timing.delay+a.activeDuration+a._timing.endDelay}function d(b,c){this.children=b||[],this._timing=a.normalizeTimingInput(c,!0),this.timing=a.makeTiming(c,!0),"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.AnimationSequence=function(){d.apply(this,arguments)},window.AnimationGroup=function(){d.apply(this,arguments)},window.AnimationSequence.prototype={get activeDuration(){var a=0;return this.children.forEach(function(b){a+=c(b)}),Math.max(a,0)}},window.AnimationGroup.prototype={get activeDuration(){var a=0;return this.children.forEach(function(b){a=Math.max(a,c(b))}),a}},b.newUnderlyingPlayerForGroup=function(a){var c,d=function(a){var b=c._wrapper;return"pending"!=b.playState&&b.source&&null==a?void b._removePlayers():void 0};return c=b.timeline.play(new b.Animation(null,d,a._timing))},b.bindPlayerForGroup=function(a){a._player._wrapper=a,a._isGroup=!0,b.awaitStartTime(a),a._constructChildren(),a._setExternalPlayer(a)},b.groupChildDuration=c}(c,e,f)}({},function(){return this}());Polymer.mixin2=function(prototype,mixin){if(mixin.mixinPublish){prototype.publish=prototype.publish||{};Polymer.mixin(prototype.publish,mixin.mixinPublish)}if(mixin.mixinDelegates){prototype.eventDelegates=prototype.eventDelegates||{};for(var e in mixin.mixinDelegates){if(!prototype.eventDelegates[e]){prototype.eventDelegates[e]=mixin.mixinDelegates[e]}}}if(mixin.mixinObserve){prototype.observe=prototype.observe||{};for(var o in mixin.mixinObserve){if(!prototype.observe[o]&&!prototype[o+"Changed"]){prototype.observe[o]=mixin.mixinObserve[o]}}}Polymer.mixin(prototype,mixin);delete prototype.mixinPublish;delete prototype.mixinDelegates;delete prototype.mixinObserve;return prototype};Polymer.IOFocusable={mixinDelegates:{down:"_downAction",up:"_upAction",focus:"_focusAction",blur:"_blurAction"},_downAction:function(){this.classList.add("pressed");this.focus()},_upAction:function(){this.classList.remove("pressed")},_focusAction:function(){if(!this.classList.contains("pressed")){this.classList.add("focused")}},_blurAction:function(){this.classList.remove("focused")}};var IOWA=IOWA||{};IOWA.CountdownTimer=IOWA.CountdownTimer||{};IOWA.CountdownTimer.Colors={Shadow:"hsla(0, 0%, 0%, 0.4)",Divider:{h:0,s:0,l:0,a:.2},Label:"hsla(0, 0%, 0%, 0.57)",Rundown:[{background:{h:188,s:83,l:46,a:1},dark:{h:187,s:100,l:38,a:1},medium:{h:187,s:72,l:71,a:1},light:{h:187,s:72,l:93,a:1}},{background:{h:220,s:66,l:52,a:1},dark:{h:223,s:65,l:47,a:1},medium:{h:218,s:89,l:67,a:1},light:{h:218,s:92,l:95,a:1}},{background:{h:262,s:52,l:47,a:1},dark:{h:258,s:58,l:42,a:1},medium:{h:262,s:47,l:63,a:1},light:{h:292,s:44,l:93,a:1}},{background:{h:256,s:100,l:65,a:1},dark:{h:265,s:100,l:46,a:1},medium:{h:262,s:100,l:77,a:1},light:{h:264,s:45,l:94,a:1}},{background:{h:291,s:47,l:51,a:1},dark:{h:277,s:70,l:35,a:1},medium:{h:291,s:47,l:60,a:1},light:{h:292,s:44,l:93,a:1}},{background:{h:340,s:82,l:59,a:1},dark:{h:334,s:79,l:38,a:1},medium:{h:340,s:82,l:76,a:1},light:{h:340,s:80,l:94,a:1}},{background:{h:360,s:100,l:66,a:1},dark:{h:360,s:100,l:42,a:1},medium:{h:365,s:100,l:75,a:1},light:{h:366,s:71,l:95,a:1}},{background:{h:374,s:100,l:63,a:1},dark:{h:374,s:82,l:46,a:1},medium:{h:374,s:100,l:78,a:1},light:{h:366,s:71,l:95,a:1}},{background:{h:394,s:100,l:50,a:1},dark:{h:386,s:100,l:50,a:1},medium:{h:398,s:100,l:75,a:1},light:{h:397,s:100,l:94,a:1}},{background:{h:410,s:100,l:50,a:1},dark:{h:397,s:95,l:56,a:1},medium:{h:414,s:100,l:67,a:1},light:{h:415,s:100,l:95,a:1}},{background:{h:425,s:100,l:63,a:1},dark:{h:435,s:100,l:46,a:1},medium:{h:425,s:100,l:75,a:1},light:{h:426,s:71,l:95,a:1}},{background:{h:548,s:83,l:46,a:1},dark:{h:547,s:100,l:38,a:1},medium:{h:547,s:72,l:71,a:1},light:{h:547,s:72,l:93,a:1}}]};IOWA.CountdownTimer.Easing=function(t){return--t*t*t*t*t+1};IOWA.CountdownTimer.Animation={In:1,Out:2};IOWA.CountdownTimer.Modes={SingleValue:1,Continuous:2};IOWA.CountdownTimer.NumberRenderer=function(el){this.canvas_=el;this.ctx_=this.canvas_.getContext("2d");this.width_=0;this.height_=0;this.maxRippleRadius_=0;this.unitCount_=1;this.drawX_=0;this.drawY_=0;this.letterPadding_=6;this.linePadding_=32;this.freezeCount_=0;this.skippedUnits_=0;this.colorSet_=IOWA.CountdownTimer.Colors.Rundown[0];this.targetColorSet_=this.colorSet_;this.nextRippleColor_=0;this.ripples_=[];this.addEventListeners_()};IOWA.CountdownTimer.NumberRenderer.prototype={baseNumberWidth_:136,baseNumberHeight_:140,measurements_:[140,68,98,88,100,112,116,110,108,118],configureCanvas_:function(){var dPR=window.devicePixelRatio||1;this.width_=this.canvas_.parentElement.offsetWidth;this.height_=this.canvas_.parentElement.offsetHeight;this.maxRippleRadius_=Math.sqrt(this.width_*this.width_+this.height_*this.height_);this.canvas_.width=this.width_*dPR;this.canvas_.height=this.height_*dPR;this.canvas_.style.width=this.width_+"px";this.canvas_.style.height=this.height_+"px";this.ctx_.scale(dPR,dPR);this.unitCount_=1;
if(this.width_>700){this.unitCount_=2}if(this.width_>1e3){this.unitCount_=3}if(this.width_>1295){this.unitCount_=4}},addEventListeners_:function(){this.resizeHandler=this.configureCanvas_.bind(this);window.addEventListener("resize",this.resizeHandler)},removeListeners_:function(){window.removeEventListener("resize",this.resizeHandler)},convertHSLObjectToString_:function(hslObj){return"hsla("+hslObj.h+", "+hslObj.s+"%, "+hslObj.l+"%, "+hslObj.a+")"},drawLine_:function(color,xStart,yStart,xEnd,yEnd){if(!color.str)color.str=this.convertHSLObjectToString_(color);this.ctx_.save();this.ctx_.translate(.5,.5);this.ctx_.strokeStyle=color.str;this.ctx_.beginPath();this.ctx_.moveTo(xStart,yStart);this.ctx_.lineTo(xEnd,yEnd);this.ctx_.stroke();this.ctx_.closePath();this.ctx_.restore()},drawCircle_:function(color,x,y,radius){if(radius<0)return;if(!color.str)color.str=this.convertHSLObjectToString_(color);this.ctx_.fillStyle=color.str;this.ctx_.beginPath();this.ctx_.arc(x,y,radius,0,Math.PI*2);this.ctx_.closePath();this.ctx_.fill()},drawSemiCircle_:function(color,x,y,radius,startAngle){if(radius<0)return;if(!color.str)color.str=this.convertHSLObjectToString_(color);this.ctx_.fillStyle=color.str;this.ctx_.beginPath();this.ctx_.arc(x,y,radius,startAngle,startAngle+Math.PI);this.ctx_.closePath();this.ctx_.fill()},drawRhomboid_:function(color,x,y,width,height,cornerX,cornerY){if(width<0||height<0)return;if(!color.str)color.str=this.convertHSLObjectToString_(color);this.ctx_.fillStyle=color.str;this.ctx_.beginPath();this.ctx_.save();this.ctx_.translate(x,y);if(cornerY!==0){this.ctx_.moveTo(0,cornerY);this.ctx_.lineTo(width,0);this.ctx_.lineTo(width,height);this.ctx_.lineTo(0,height+cornerY)}else{this.ctx_.moveTo(0,0);this.ctx_.lineTo(width,0);this.ctx_.lineTo(width+cornerX,height);this.ctx_.lineTo(cornerX,height)}this.ctx_.closePath();this.ctx_.fill();this.ctx_.restore()},setShadow_:function(color,blur,offsetY){this.ctx_.shadowColor=color;this.ctx_.shadowBlur=blur;this.ctx_.shadowOffsetY=offsetY},0:function(time,direction){var semiCircleTopYOffset=14;var semiCircleBottomYOffset=2;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*semiCircleBottomYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*semiCircleBottomYOffset);this.drawSemiCircle_(this.colorSet_.medium,64,64,64,0);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*semiCircleTopYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*14,time*semiCircleTopYOffset);this.drawSemiCircle_(this.colorSet_.dark,64,64,64,-Math.PI);this.ctx_.restore();this.ctx_.globalAlpha=1-time;this.setShadow_("",0,0);this.drawCircle_(this.colorSet_.background,64,64,66)}function out_(){var circleBottomTime=time-(1-time)*1.2;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*semiCircleBottomYOffset);this.drawSemiCircle_(this.colorSet_.medium,64,64+(1-circleBottomTime)*32,circleBottomTime*64,0);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*14,time*semiCircleTopYOffset);this.drawSemiCircle_(this.colorSet_.dark,64,64-(1-time)*32,time*64,-Math.PI)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},1:function(time,direction){var circleYOffset=10;var rhomboidYOffset=4;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[1])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.light,16,0,40,126,0,0);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*circleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleYOffset);this.drawCircle_(this.colorSet_.dark,14,20,20);this.ctx_.restore()}function out_(){this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.light,16,(1-time)*64,40,time*126,0,0);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleYOffset);this.drawCircle_(this.colorSet_.dark,14,20,time*20)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},2:function(time,direction){var circleYOffset=10;var semiCircleYOffset=2;var rhomboidYOffset=4;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[2])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*semiCircleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*4,time*semiCircleYOffset);this.drawSemiCircle_(this.colorSet_.medium,40,48,48,-Math.PI*.5);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.light,0,94,88,32,0,0);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*circleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleYOffset);this.drawCircle_(this.colorSet_.dark,19,20,20);this.ctx_.restore()}function out_(){var semiCircleTime=time-(1-time)*1.1;var rhomboidTime=time-(1-time)*1.05;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*4,time*semiCircleYOffset);this.drawSemiCircle_(this.colorSet_.medium,40+(1-semiCircleTime)*24,48,semiCircleTime*48,-Math.PI*.5);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.light,(1-rhomboidTime)*49,94,rhomboidTime*88,32,0,0);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleYOffset);this.drawCircle_(this.colorSet_.dark,19,20,time*20)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},3:function(time,direction){var circleTopYOffset=10;var circleBottomYOffset=14;var semiCircleTopYOffset=6;var semiCircleBottomYOffset=2;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[3])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*semiCircleBottomYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*semiCircleBottomYOffset);this.drawSemiCircle_(this.colorSet_.medium,34,86,42,-Math.PI*.5);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*semiCircleTopYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*semiCircleTopYOffset);this.drawSemiCircle_(this.colorSet_.light,34,32,32,-Math.PI*.5);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*circleTopYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*circleTopYOffset);this.drawCircle_(this.colorSet_.medium,13,20,time*20);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*circleBottomYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleBottomYOffset);this.drawCircle_(this.colorSet_.dark,13,108,time*20);this.ctx_.restore()}function out_(){var semiCircleTopTime=time-(1-time)*1.1;var semiCircleBottomTime=time-(1-time)*1.05;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*semiCircleBottomYOffset);this.drawSemiCircle_(this.colorSet_.medium,34+(1-semiCircleBottomTime)*21,86,semiCircleBottomTime*42,-Math.PI*.5);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*semiCircleTopYOffset);this.drawSemiCircle_(this.colorSet_.light,34+(1-semiCircleTopTime)*16,32,semiCircleTopTime*32,-Math.PI*.5);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*circleTopYOffset);this.drawCircle_(this.colorSet_.medium,13,20,time*20);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleBottomYOffset);this.drawCircle_(this.colorSet_.dark,13,108,time*20)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},4:function(time,direction){var rectangleYOffset=2;var rhomboidYOffset=12;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[4])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.light,0,0,40,80,0,.01);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*rectangleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*rectangleYOffset);this.drawRhomboid_(this.colorSet_.medium,48,0,40,128,0,0);this.ctx_.restore()}function out_(){var rectangleTime=time-(1-time)*1.1;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.light,0,0+(1-time)*44,40,time*80,0,.01);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*rectangleYOffset);this.drawRhomboid_(this.colorSet_.medium,48,(1-rectangleTime)*64,40,rectangleTime*128,0,0)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},5:function(time,direction){var circleYOffset=14;var semiCircleYOffset=2;var rhomboidYOffset=8;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[5])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*semiCircleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*4,time*semiCircleYOffset);this.drawSemiCircle_(this.colorSet_.light,51,80,48,-Math.PI*.5);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*10,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.medium,4,0,88,32,0,0);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*circleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleYOffset);this.drawCircle_(this.colorSet_.dark,24,56,24);this.ctx_.restore()}function out_(){var semiCircleTime=time-(1-time)*1.1;var rhomboidTime=time-(1-time)*1.05;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*4,time*semiCircleYOffset);this.drawSemiCircle_(this.colorSet_.light,51+(1-semiCircleTime)*24,80,semiCircleTime*48,-Math.PI*.5);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*10,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.medium,4+(1-rhomboidTime)*44,0,rhomboidTime*88,32,0,0);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*circleYOffset);this.drawCircle_(this.colorSet_.dark,24,56,time*24)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},6:function(time,direction){var circleYOffset=4;var rhomboidYOffset=8;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[6])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*circleYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*4,time*circleYOffset);this.drawCircle_(this.colorSet_.medium,54,80,48);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.dark,6,0,40,80,0,.01);this.ctx_.restore()}function out_(){var circleTime=time-(1-time)*1.15;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*4,time*circleYOffset);this.drawCircle_(this.colorSet_.medium,54,80,circleTime*48);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*rhomboidYOffset);this.drawRhomboid_(this.colorSet_.dark,6+(1-time)*20,0,time*40,80,0,.01)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},7:function(time,direction){var rhomboidTopYOffset=8;var rhomboidRightYOffset=2;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[7])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidRightYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*rhomboidRightYOffset);this.drawRhomboid_(this.colorSet_.medium,57,6,40,120,0,.01);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidTopYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*rhomboidTopYOffset);this.drawRhomboid_(this.colorSet_.light,0,0,88,40,0,.01);this.ctx_.restore()}function out_(){var rhomboidTopTime=time-(1-time)*1.15;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*2,time*rhomboidRightYOffset);this.drawRhomboid_(this.colorSet_.medium,57+(1-rhomboidTopTime)*20.5,6,rhomboidTopTime*40,120,0,0);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*12,time*rhomboidTopYOffset);this.drawRhomboid_(this.colorSet_.light,(1-time)*38.5,0,time*88,40,0,0)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},8:function(time,direction){var circleTopYOffset=14;var circleBottomYOffset=1;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[8])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*circleBottomYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time,time*circleBottomYOffset);this.drawCircle_(this.colorSet_.medium,48,80,48);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*circleTopYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*14,time*circleTopYOffset);this.drawCircle_(this.colorSet_.dark,48,36,36);this.ctx_.restore()}function out_(){var circleBottomTime=time-(1-time)*1.2;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time,time*circleBottomYOffset);this.drawCircle_(this.colorSet_.medium,48,80,circleBottomTime*48);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*14,time*circleTopYOffset);this.drawCircle_(this.colorSet_.dark,48,36,time*36)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},9:function(time,direction){var circleTopYOffset=1;var rhomboidRightYOffset=8;this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate((this.baseNumberWidth_-this.measurements_[9])*.5,0);function in_(){this.ctx_.save();this.ctx_.translate(0,(1-time)*circleTopYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time,time*circleTopYOffset);this.drawCircle_(this.colorSet_.medium,48,48,48);this.ctx_.restore();this.ctx_.save();this.ctx_.translate(0,(1-time)*rhomboidRightYOffset);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*rhomboidRightYOffset);this.drawRhomboid_(this.colorSet_.light,56,6,41,120,0,0);this.ctx_.restore()}function out_(){var circleTopTime=time-(1-time)*1.2;this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,circleTopTime,circleTopTime*circleTopYOffset);this.drawCircle_(this.colorSet_.medium,48,48,circleTopTime*48);this.setShadow_(IOWA.CountdownTimer.Colors.Shadow,time*8,time*rhomboidRightYOffset);this.drawRhomboid_(this.colorSet_.light,56+(1-time)*20.5,6,time*41,120,0,0)}if(direction===IOWA.CountdownTimer.Animation.In)in_.call(this);else out_.call(this);this.ctx_.restore();this.drawX_+=this.baseNumberWidth_},clear:function(){if(!this.colorSet_.background.str){this.colorSet_.background.str=this.convertHSLObjectToString_(this.colorSet_.background)}this.ctx_.fillStyle=this.colorSet_.background.str;this.ctx_.fillRect(0,0,this.width_,this.height_);this.drawX_=0;this.drawY_=0},ripple:function(rippleColor){var start=Date.now();if(typeof rippleColor==="undefined"){rippleColor={background:{h:360,s:100,l:100,a:1},alphaStart:.2,alphaEnd:0,setBackgroundOnComplete:false,updateColorSetOnRipple:false}}if(typeof rippleColor.setBackgroundOnComplete==="undefined")rippleColor.setBackgroundOnComplete=true;if(typeof rippleColor.updateColorSetOnRipple==="undefined")rippleColor.updateColorSetOnRipple=true;var x=(this.width_+this.baseNumberWidth_)*.5;if(this.unitCount_===2){x+=this.linePadding_+this.baseNumberWidth_}else if(this.unitCount_===3){x+=this.baseNumberWidth_+this.linePadding_+this.linePadding_+this.baseNumberWidth_}else if(this.unitCount_===4){x+=this.linePadding_+this.baseNumberWidth_+this.baseNumberWidth_+this.linePadding_+this.linePadding_+this.baseNumberWidth_}this.ripples_.push({start:start,end:start+2800,x:x,y:this.height_*.5,color:rippleColor})},drawDividerLine_:function(){this.ctx_.save();this.ctx_.translate(this.drawX_,this.drawY_);this.ctx_.translate(this.linePadding_,-this.linePadding_);this.drawLine_(IOWA.CountdownTimer.Colors.Divider,0,0,0,this.baseNumberHeight_+this.linePadding_+this.linePadding_*.5);this.drawX_+=this.linePadding_*2;this.ctx_.restore()},convertValueObjectToString_:function(valuesAsArray){var valueAsString="";var unitsLeftToAdd=this.unitCount_;var skipLeadingZeroValues=true;this.skippedUnits_=0;for(var v=0;v<valuesAsArray.length;v++){if(v>=valuesAsArray.length-this.unitCount_)skipLeadingZeroValues=false;if(skipLeadingZeroValues&&valuesAsArray[v]==="00"){this.skippedUnits_++;continue}skipLeadingZeroValues=false;if(unitsLeftToAdd===0)break;if(valueAsString!=="")valueAsString+="|";valueAsString+=valuesAsArray[v];unitsLeftToAdd--}return valueAsString},drawLabels_:function(valuesAsArray){var labelX=this.drawX_;var labelY=this.drawY_+this.baseNumberHeight_+48;var labelStepX=2*this.baseNumberWidth_+2*this.linePadding_;var unitsLeftToAdd=this.unitCount_;var labelText="";var skipLeadingZeroValues=true;this.ctx_.fillStyle=IOWA.CountdownTimer.Colors.Label;this.ctx_.font="500 14px Roboto";for(var v=0;v<valuesAsArray.length;v++){if(v>=valuesAsArray.length-this.unitCount_)skipLeadingZeroValues=false;if(skipLeadingZeroValues&&valuesAsArray[v]==="00")continue;skipLeadingZeroValues=false;if(unitsLeftToAdd===0)break;switch(v){case 0:labelText="DAY"+(valuesAsArray[v]!=="01"?"S":"");break;case 1:labelText="HOUR"+(valuesAsArray[v]!=="01"?"S":"");break;case 2:labelText="MINUTE"+(valuesAsArray[v]!=="01"?"S":"");break;case 3:labelText="SECOND"+(valuesAsArray[v]!=="01"?"S":"");break}this.ctx_.fillText(labelText,labelX,labelY);labelX+=labelStepX;unitsLeftToAdd--}},easeColorSetValues_:function(){var numEasing=.07;this.colorSet_.dark.h+=(this.targetColorSet_.dark.h-this.colorSet_.dark.h)*numEasing;this.colorSet_.dark.s+=(this.targetColorSet_.dark.s-this.colorSet_.dark.s)*numEasing;this.colorSet_.dark.l+=(this.targetColorSet_.dark.l-this.colorSet_.dark.l)*numEasing;this.colorSet_.dark.a+=(this.targetColorSet_.dark.a-this.colorSet_.dark.a)*numEasing;this.colorSet_.dark.str=this.convertHSLObjectToString_(this.colorSet_.dark);this.colorSet_.medium.h+=(this.targetColorSet_.medium.h-this.colorSet_.medium.h)*numEasing;this.colorSet_.medium.s+=(this.targetColorSet_.medium.s-this.colorSet_.medium.s)*numEasing;this.colorSet_.medium.l+=(this.targetColorSet_.medium.l-this.colorSet_.medium.l)*numEasing;this.colorSet_.medium.a+=(this.targetColorSet_.medium.a-this.colorSet_.medium.a)*numEasing;this.colorSet_.medium.str=this.convertHSLObjectToString_(this.colorSet_.medium);this.colorSet_.light.h+=(this.targetColorSet_.light.h-this.colorSet_.light.h)*numEasing;this.colorSet_.light.s+=(this.targetColorSet_.light.s-this.colorSet_.light.s)*numEasing;this.colorSet_.light.l+=(this.targetColorSet_.light.l-this.colorSet_.light.l)*numEasing;this.colorSet_.light.a+=(this.targetColorSet_.light.a-this.colorSet_.light.a)*numEasing;this.colorSet_.light.str=this.convertHSLObjectToString_(this.colorSet_.light)},draw:function(value,time,direction){if(this.width_===0&&this.height_===0)this.configureCanvas_();var valuesAsArray=[this.convertNumberToStringAndPadIfNeeded_(value.days),this.convertNumberToStringAndPadIfNeeded_(value.hours),this.convertNumberToStringAndPadIfNeeded_(value.minutes),this.convertNumberToStringAndPadIfNeeded_(value.seconds)];var valueAsString=this.convertValueObjectToString_(valuesAsArray);var metrics={width:this.unitCount_*2*this.baseNumberWidth_+(this.unitCount_-1)*2*this.linePadding_,height:this.baseNumberHeight_};var characterTime=time;var now=Date.now();var ripple;var rippleRadius;var rippleDuration;var rippleTime;var rippleAlpha;var rippleTimeNormalized;for(var r=0;r<this.ripples_.length;r++){ripple=this.ripples_[r];if(now>ripple.end){if(ripple.color.setBackgroundOnComplete){this.colorSet_.background.h=ripple.color.background.h;this.colorSet_.background.s=ripple.color.background.s;this.colorSet_.background.l=ripple.color.background.l;this.colorSet_.background.a=ripple.color.background.a;this.colorSet_.background.str=this.convertHSLObjectToString_(this.colorSet_.background)}this.ripples_.splice(r--,1)}rippleDuration=ripple.end-ripple.start;rippleTime=now-ripple.start;rippleTimeNormalized=Math.min(1,rippleTime/rippleDuration);rippleRadius=IOWA.CountdownTimer.Easing(rippleTimeNormalized)*this.maxRippleRadius_;rippleAlpha=ripple.color.alphaStart+IOWA.CountdownTimer.Easing(rippleTimeNormalized)*(ripple.color.alphaEnd-ripple.color.alphaStart);if(typeof ripple.color.alphaStart==="undefined"){rippleAlpha=1}if(ripple.color.updateColorSetOnRipple){ripple.color.updateColorSetOnRipple=false;this.targetColorSet_=ripple.color}this.ctx_.save();this.ctx_.globalAlpha=rippleAlpha;this.drawCircle_(ripple.color.background,ripple.x,ripple.y,rippleRadius);this.ctx_.restore()}this.easeColorSetValues_();this.drawX_=Math.round((this.width_-metrics.width)*.5);this.drawY_=Math.round((this.height_-metrics.height)*.5);this.drawLabels_(valuesAsArray);this.ctx_.strokeStyle="rgba(0,0,0,0.3)";this.ctx_.fillStyle="#000";var toFreeze=this.freezeCount_;var toFreezeAdjustment=this.skippedUnits_*3;toFreeze-=toFreezeAdjustment;for(var i=0;i<valueAsString.length;i++){characterTime=time;if(i<toFreeze)characterTime=1;this.ctx_.save();if(valueAsString[i]==="|"){this.drawDividerLine_()}else{this.ctx_.translate(this.letterPadding_,this.letterPadding_);this[valueAsString[i]](characterTime,direction)}this.ctx_.restore()}},convertNumberToStringAndPadIfNeeded_:function(value){var str=Number(value).toString();if(value<10)str="0"+str;return str},setNextValueForFreezing:function(value,freezeValue){if(value.days===0&&value.hours===0&&value.minutes===0&&value.seconds===0){this.freezeCount_=Number.MAX_VALUE;return}var daysValueAsString=this.convertNumberToStringAndPadIfNeeded_(value.days);var hoursValueAsString=this.convertNumberToStringAndPadIfNeeded_(value.hours);var minutesValueAsString=this.convertNumberToStringAndPadIfNeeded_(value.minutes);var secondsValueAsString=this.convertNumberToStringAndPadIfNeeded_(value.seconds);var freezeDaysValueAsString=this.convertNumberToStringAndPadIfNeeded_(freezeValue.days);var freezeHoursValueAsString=this.convertNumberToStringAndPadIfNeeded_(freezeValue.hours);var freezeMinutesValueAsString=this.convertNumberToStringAndPadIfNeeded_(freezeValue.minutes);var freezeSecondsValueAsString=this.convertNumberToStringAndPadIfNeeded_(freezeValue.seconds);var valueAsString=daysValueAsString+"|"+hoursValueAsString+"|"+minutesValueAsString+"|"+secondsValueAsString;var freezeValueAsString=freezeDaysValueAsString+"|"+freezeHoursValueAsString+"|"+freezeMinutesValueAsString+"|"+freezeSecondsValueAsString;for(var i=0;i<valueAsString.length;i++){this.freezeCount_=i;if(valueAsString[i]!==freezeValueAsString[i])break}},init:function(){this.configureCanvas_()},destroy:function(){this.removeListeners_()}};IOWA.CountdownTimer.Element=function(el){this.renderer_=new IOWA.CountdownTimer.NumberRenderer(el);this.renderer_.init();this.currentCountdownValue_={days:0,hours:0,minutes:0,seconds:0};this.nextCountdownValue_={days:0,hours:0,minutes:0,seconds:0};this.targetDayCountValue_=0;this.targetDate_=0;this.needToFreezeDigits_=true;this.timeAdjustment_=0;this.easeInTime_=0;this.waitTime_=0;this.easeOutTime_=0;this.onThresholdReachedCallback_=null;this.onTimerTickCallback_=null;this.lastThreshold_="";this.lastDrawnValue_={days:Number.MAX_VALUE,hours:Number.MAX_VALUE,minutes:Number.MAX_VALUE,seconds:Number.MAX_VALUE};this.animationValue_=0;this.animationRunning_=false;this.animationStartTime_=0;this.animationWaitStartTime_=0;this.animationEaseOutStartTime_=0;this.animationEaseOutEndTime_=0;this.drawIfAnimationIsNotRunning=this.drawIfAnimationIsNotRunning.bind(this);this.update_=this.update_.bind(this);this.setDayMonthMinutesAndSecondValues_=this.setDayMonthMinutesAndSecondValues_.bind(this);this.addEventListeners_()};IOWA.CountdownTimer.Element.prototype={millisecondsInASecond_:1e3,millisecondsInAMinute_:60*1e3,millisecondsInAnHour_:60*60*1e3,millisecondsInADay_:24*60*60*1e3,addEventListeners_:function(){window.addEventListener("resize",this.drawIfAnimationIsNotRunning)},destroy:function(){this.animationRunning_=false;window.removeEventListener("resize",this.drawIfAnimationIsNotRunning);this.renderer_.destroy()},update_:function(){if(!this.animationRunning_)return;var now=Date.now();var animationValue=0;var animatingIn=true;var animationDirection=IOWA.CountdownTimer.Animation.In;if(now>this.animationStartTime_){animationValue=(now-this.animationStartTime_)/this.easeInTime_}if(now>this.animationWaitStartTime_){animationValue=1;this.freezeRendererForUnchangingDigits_()}if(now>this.animationEaseOutStartTime_){if(this.countdownTargetReached_()){this.dispatchThresholdEventIfNeeded_("Ended")}animationValue=1-(now-this.animationEaseOutStartTime_)/this.easeOutTime_;animationDirection=IOWA.CountdownTimer.Animation.Out}if(now>this.animationEaseOutEndTime_){animationValue=0}animationValue=IOWA.CountdownTimer.Easing(animationValue);if(this.valueHasChangedSinceLastDraw_()){this.renderer_.clear();this.renderer_.draw(this.currentCountdownValue,animationValue,animationDirection)}if(animationValue===0){this.continueAnimationIfNotAtFinalValue_();this.onTimerTickCallback(this.currentCountdownValue)}else{requestAnimationFrame(this.update_)}},valueHasChangedSinceLastDraw_:function(){return this.currentCountdownValue.days!==this.lastDrawnValue_.days||this.currentCountdownValue.hours!==this.lastDrawnValue_.hours||this.currentCountdownValue.minutes!==this.lastDrawnValue_.minutes||this.currentCountdownValue.seconds!==this.lastDrawnValue_.seconds},countdownTargetReached_:function(){return this.currentCountdownValue.days===0&&this.currentCountdownValue.hours===0&&this.currentCountdownValue.minutes===0&&this.currentCountdownValue.seconds===0},freezeRendererForUnchangingDigits_:function(){if(!this.needToFreezeDigits_)return;this.needToFreezeDigits_=false;var milliseconds=Math.max(0,this.targetDate_-Date.now()-this.easeOutTime_-this.waitTime_);this.convertMillisecondsAndSetObjectValues_(milliseconds,this.nextCountdownValue_);this.renderer_.setNextValueForFreezing(this.currentCountdownValue,this.nextCountdownValue_)},updateAnimationTimingValues_:function(){this.animationStartTime_=Date.now();this.animationWaitStartTime_=this.animationStartTime_+this.easeInTime_;this.animationEaseOutStartTime_=this.animationWaitStartTime_+this.waitTime_;this.animationEaseOutEndTime_=this.animationEaseOutStartTime_+this.easeOutTime_},continueAnimationIfNotAtFinalValue_:function(){this.stop();if(this.targetDate_<Date.now())return;this.setDayMonthMinutesAndSecondValues_();this.needToFreezeDigits_=true;this.updateAnimationTimingValues_();this.start()},setDayMonthMinutesAndSecondValues_:function(){var millisecondsToTarget=Math.max(0,this.targetDate_-Date.now());this.lastDrawnValue_.days=this.currentCountdownValue.days;this.lastDrawnValue_.hours=this.currentCountdownValue.hours;this.lastDrawnValue_.minutes=this.currentCountdownValue.minutes;this.lastDrawnValue_.seconds=this.currentCountdownValue.seconds;this.convertMillisecondsAndSetObjectValues_(millisecondsToTarget,this.currentCountdownValue);this.scheduleRendererRippleIfNeeded_()},scheduleRendererRippleIfNeeded_:function(){if(this.lastDrawnValue_.days===this.currentCountdownValue.days&&this.lastDrawnValue_.hours===this.currentCountdownValue.hours&&this.lastDrawnValue_.minutes===this.currentCountdownValue.minutes&&this.lastDrawnValue_.seconds===this.currentCountdownValue.seconds)return;if(this.currentCountdownValue.days===0&&this.currentCountdownValue.hours===0&&this.currentCountdownValue.minutes===0){if(this.lastDrawnValue_.minutes===1){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[1])}else if(this.crossedThreshold_(30)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[2])}else if(this.crossedThreshold_(20)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[3])}else if(this.crossedThreshold_(10)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[4])}else if(this.crossedThreshold_(8)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[5])}else if(this.crossedThreshold_(6)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[6])}else if(this.crossedThreshold_(4)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[7])}else if(this.crossedThreshold_(3)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[8])}else if(this.crossedThreshold_(2)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[9])}else if(this.crossedThreshold_(1)){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[10])}else if(this.currentCountdownValue.seconds===0){this.renderer_.ripple(IOWA.CountdownTimer.Colors.Rundown[11])}return}if(this.currentCountdownValue.minutes!==this.lastDrawnValue_.minutes)this.renderer_.ripple()},crossedThreshold_:function(threshold){return this.lastDrawnValue_.seconds>threshold&&this.currentCountdownValue.seconds<=threshold},convertMillisecondsAndSetObjectValues_:function(milliseconds,target){var daysToTarget=Math.floor(milliseconds/this.millisecondsInADay_);milliseconds-=daysToTarget*this.millisecondsInADay_;var hoursToTarget=Math.floor(milliseconds/this.millisecondsInAnHour_);milliseconds-=hoursToTarget*this.millisecondsInAnHour_;var minutesToTarget=Math.floor(milliseconds/this.millisecondsInAMinute_);milliseconds-=minutesToTarget*this.millisecondsInAMinute_;var secondsToTarget=Math.floor(milliseconds/1e3);target.days=daysToTarget;target.hours=hoursToTarget;target.minutes=minutesToTarget;target.seconds=secondsToTarget},dispatchThresholdEventIfNeeded_:function(label){if(this.lastThreshold_===label)return;if(!this.onThresholdReachedCallback)return;this.lastThreshold_=label;this.onThresholdReachedCallback({label:label,millisecondsToTarget:Math.max(0,this.targetDate_-Date.now())})},start:function(){if(this.animationRunning_)return;this.animationRunning_=true;requestAnimationFrame(this.update_)},stop:function(){this.animationRunning_=false},drawIfAnimationIsNotRunning:function(){if(this.animationRunning_)return;this.renderer_.init();this.renderer_.clear();this.renderer_.draw(this.currentCountdownValue,1,IOWA.CountdownTimer.Animation.In)},setOnTimerThresholdReachedCallback:function(onThresholdReachedCallback){this.onThresholdReachedCallback=onThresholdReachedCallback},setOnTimerTickCallback:function(onTimerTickCallback){this.onTimerTickCallback=onTimerTickCallback},configure:function(options){this.targetDate_=options.targetDate.getTime();this.timeAdjustment_=options.adjustmentInDays;this.setDayMonthMinutesAndSecondValues_();this.easeInTime_=options.easeInTime;this.waitTime_=options.waitTime;this.easeOutTime_=options.easeOutTime;this.updateAnimationTimingValues_()},resizeRenderer:function(){this.renderer_.resizeHandler()},get configured(){return this.configured_},get currentCountdownValue(){return this.currentCountdownValue_},set currentCountdownValue(value){if(value<this.targetDayValue||isNaN(value))value=this.targetDayValue;this.currentCountdownValue_=value},get targetDayValue(){return this.targetDayCountValue_},set targetDayValue(value){if(isNaN(value))return;if(value<0)value=0;this.targetDayCountValue_=value},set onThresholdReachedCallback(callback){if(typeof callback!=="function")return;
this.onThresholdReachedCallback_=callback},get onThresholdReachedCallback(){return this.onThresholdReachedCallback_},set onTimerTickCallback(callback){if(typeof callback!=="function")return;this.onTimerTickCallback_=callback},get onTimerTickCallback(){return this.onTimerTickCallback_}};!function(t){function e(r){if(i[r])return i[r].exports;var n=i[r]={exports:{},id:r,loaded:!1};return t[r].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}({0:function(t,e,i){"use strict";window.experiment=function(){function t(){return e()&&r()&&n()}function e(){var t=!1,e=document.createElement("canvas");t="probablySupportsContext"in e?e.probablySupportsContext("webgl")||e.probablySupportsContext("experimental-webgl"):"supportsContext"in e?e.supportsContext("webgl")||e.supportsContext("experimental-webgl"):!!window.WebGLRenderingContext;var i=window.navigator.userAgent.match(/Safari/)&&window.navigator.userAgent.match(/Version\/7/);return t&&!i}function r(){return!(!window.webkitAudioContext&&!window.AudioContext)}function n(){return!!window.Worker}function o(t){var e=new _(function(t,e){g=t,m=e});if(f)g(f);else{A=setTimeout(function(){m&&m()},t);var i=document.createElement("script");i.addEventListener("error",m),i.setAttribute("async","true"),i.type="text/javascript",i.src=v("/js/experiment.js"),((document.getElementsByTagName("head")||[null])[0]||document.getElementsByTagName("script")[0].parentNode).appendChild(i)}return e}function s(t){A&&clearTimeout(A),f=t,g&&g(t)}function a(){return f&&f.serialize()}function h(){return f&&f.tearDown()}function u(){return f&&f.pause()}function l(){return f&&f.play()}function c(t){return f&&f.didExitRecordingMode(t)}function p(t){return f&&f.didEnterRecordingMode(t)}function d(){return f&&f.consoleDance()}var f,A,g,m,v=i(25),y=i(192),x=i(186),b=i(188),w=i(189),T=i(190),C=i(191),S=i(187),E=i(194),M=i(193),B=i(8),_=B.Promise;return{assets:{animatedImg:y,exitExpImg:x,pauseExpImg:b,playExpImg:w,resetExpImg:T,shareExpImg:C,loadingExpImg:S,headphonesImg:E,unsupportedImg:M},load:o,canLoad:t,didFinishLoading:s,didEnterRecordingMode:p,didExitRecordingMode:c,tearDown:h,serialize:a,pause:u,play:l,consoleDance:d}}()},8:function(t,e,i){var r;(function(t,n,o,s){(function(){"use strict";function a(t){return"function"==typeof t||"object"==typeof t&&null!==t}function h(t){return"function"==typeof t}function u(t){return"object"==typeof t&&null!==t}function l(t,e){ne[J]=t,ne[J+1]=e,J+=2,2===J&&(H?H(m):Q())}function c(t){H=t}function p(){var e=t.nextTick,i=t.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);return Array.isArray(i)&&"0"===i[1]&&"10"===i[2]&&(e=n),function(){e(m)}}function d(){return function(){W(m)}}function f(){var t=0,e=new ee(m),i=document.createTextNode("");return e.observe(i,{characterData:!0}),function(){i.data=t=++t%2}}function A(){var t=new MessageChannel;return t.port1.onmessage=m,function(){t.port2.postMessage(0)}}function g(){return function(){setTimeout(m,1)}}function m(){for(var t=0;J>t;t+=2){var e=ne[t],i=ne[t+1];e(i),ne[t]=void 0,ne[t+1]=void 0}J=0}function v(){try{var t=i(46);return W=t.runOnLoop||t.runOnContext,d()}catch(e){return g()}}function y(){}function x(){return new TypeError("You cannot resolve a promise with itself")}function b(){return new TypeError("A promises callback cannot return that same promise.")}function w(t){try{return t.then}catch(e){return he.error=e,he}}function T(t,e,i,r){try{t.call(e,i,r)}catch(n){return n}}function C(t,e,i){Z(function(t){var r=!1,n=T(i,e,function(i){r||(r=!0,e!==i?M(t,i):_(t,i))},function(e){r||(r=!0,I(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&n&&(r=!0,I(t,n))},t)}function S(t,e){e._state===se?_(t,e._result):e._state===ae?I(t,e._result):R(e,void 0,function(e){M(t,e)},function(e){I(t,e)})}function E(t,e){if(e.constructor===t.constructor)S(t,e);else{var i=w(e);i===he?I(t,he.error):void 0===i?_(t,e):h(i)?C(t,e,i):_(t,e)}}function M(t,e){t===e?I(t,x()):a(e)?E(t,e):_(t,e)}function B(t){t._onerror&&t._onerror(t._result),L(t)}function _(t,e){t._state===oe&&(t._result=e,t._state=se,0!==t._subscribers.length&&Z(L,t))}function I(t,e){t._state===oe&&(t._state=ae,t._result=e,Z(B,t))}function R(t,e,i,r){var n=t._subscribers,o=n.length;t._onerror=null,n[o]=e,n[o+se]=i,n[o+ae]=r,0===o&&t._state&&Z(L,t)}function L(t){var e=t._subscribers,i=t._state;if(0!==e.length){for(var r,n,o=t._result,s=0;s<e.length;s+=3)r=e[s],n=e[s+i],r?F(i,r,n,o):n(o);t._subscribers.length=0}}function P(){this.error=null}function D(t,e){try{return t(e)}catch(i){return ue.error=i,ue}}function F(t,e,i,r){var n,o,s,a,u=h(i);if(u){if(n=D(i,r),n===ue?(a=!0,o=n.error,n=null):s=!0,e===n)return void I(e,b())}else n=r,s=!0;e._state!==oe||(u&&s?M(e,n):a?I(e,o):t===se?_(e,n):t===ae&&I(e,n))}function O(t,e){try{e(function(e){M(t,e)},function(e){I(t,e)})}catch(i){I(t,i)}}function k(t,e){var i=this;i._instanceConstructor=t,i.promise=new t(y),i._validateInput(e)?(i._input=e,i.length=e.length,i._remaining=e.length,i._init(),0===i.length?_(i.promise,i._result):(i.length=i.length||0,i._enumerate(),0===i._remaining&&_(i.promise,i._result))):I(i.promise,i._validationError())}function U(t){return new le(this,t).promise}function N(t){function e(t){M(n,t)}function i(t){I(n,t)}var r=this,n=new r(y);if(!X(t))return I(n,new TypeError("You must pass an array to race.")),n;for(var o=t.length,s=0;n._state===oe&&o>s;s++)R(r.resolve(t[s]),void 0,e,i);return n}function G(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var i=new e(y);return M(i,t),i}function q(t){var e=this,i=new e(y);return I(i,t),i}function V(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function K(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function z(t){this._id=Ae++,this._state=void 0,this._result=void 0,this._subscribers=[],y!==t&&(h(t)||V(),this instanceof z||K(),O(this,t))}function Y(){var t;if("undefined"!=typeof o)t=o;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var i=t.Promise;(!i||"[object Promise]"!==Object.prototype.toString.call(i.resolve())||i.cast)&&(t.Promise=ge)}var j;j=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var W,H,Q,X=j,J=0,Z=({}.toString,l),$="undefined"!=typeof window?window:void 0,te=$||{},ee=te.MutationObserver||te.WebKitMutationObserver,ie="undefined"!=typeof t&&"[object process]"==={}.toString.call(t),re="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,ne=new Array(1e3);Q=ie?p():ee?f():re?A():void 0===$?v():g();var oe=void 0,se=1,ae=2,he=new P,ue=new P;k.prototype._validateInput=function(t){return X(t)},k.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},k.prototype._init=function(){this._result=new Array(this.length)};var le=k;k.prototype._enumerate=function(){for(var t=this,e=t.length,i=t.promise,r=t._input,n=0;i._state===oe&&e>n;n++)t._eachEntry(r[n],n)},k.prototype._eachEntry=function(t,e){var i=this,r=i._instanceConstructor;u(t)?t.constructor===r&&t._state!==oe?(t._onerror=null,i._settledAt(t._state,e,t._result)):i._willSettleAt(r.resolve(t),e):(i._remaining--,i._result[e]=t)},k.prototype._settledAt=function(t,e,i){var r=this,n=r.promise;n._state===oe&&(r._remaining--,t===ae?I(n,i):r._result[e]=i),0===r._remaining&&_(n,r._result)},k.prototype._willSettleAt=function(t,e){var i=this;R(t,void 0,function(t){i._settledAt(se,e,t)},function(t){i._settledAt(ae,e,t)})};var ce=U,pe=N,de=G,fe=q,Ae=0,ge=z;z.all=ce,z.race=pe,z.resolve=de,z.reject=fe,z._setScheduler=c,z._asap=Z,z.prototype={constructor:z,then:function(t,e){var i=this,r=i._state;if(r===se&&!t||r===ae&&!e)return this;var n=new this.constructor(y),o=i._result;if(r){var s=arguments[r-1];Z(function(){F(r,n,s,o)})}else R(i,n,t,e);return n},"catch":function(t){return this.then(null,t)}};var me=Y,ve={Promise:ge,polyfill:me};i(42).amd?(r=function(){return ve}.call(e,i,e,s),!(void 0!==r&&(s.exports=r))):"undefined"!=typeof s&&s.exports?s.exports=ve:"undefined"!=typeof this&&(this.ES6Promise=ve),me()}).call(this)}).call(e,i(44),i(14).setImmediate,function(){return this}(),i(43)(t))},14:function(t,e,i){(function(t,r){var n=i(45).nextTick,o=Array.prototype.slice,s={},a=0;"undefined"!=typeof setTimeout&&(e.setTimeout=function(){return setTimeout.apply(window,arguments)}),"undefined"!=typeof clearTimeout&&(e.clearTimeout=function(){clearTimeout.apply(window,arguments)}),"undefined"!=typeof setInterval&&(e.setInterval=function(){return setInterval.apply(window,arguments)}),"undefined"!=typeof clearInterval&&(e.clearInterval=function(){clearInterval.apply(window,arguments)}),e.enroll=function(t,e){t._timeoutID=setTimeout(t._onTimeout,e)},e.unenroll=function(t){clearTimeout(t._timeoutID)},e.active=function(){},e.setImmediate="function"==typeof t?t:function(t){var i=a++,r=arguments.length<2?!1:o.call(arguments,1);return s[i]=!0,n(function(){s[i]&&(r?t.apply(null,r):t.call(null),e.clearImmediate(i))}),i},e.clearImmediate="function"==typeof r?r:function(t){delete s[t]}}).call(e,i(14).setImmediate,i(14).clearImmediate)},25:function(t){"use strict";t.exports=function(t){return t.match(/:\/\//)?t:"/io2015/experiment/"+t.replace(/^\//,"")}},42:function(t){t.exports=function(){throw new Error("define cannot be used indirect")}},43:function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},44:function(t){function e(){}var i=t.exports={};i.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.MutationObserver,i="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};var r=[];if(e){var n=document.createElement("div"),o=new MutationObserver(function(){var t=r.slice();r.length=0,t.forEach(function(t){t()})});return o.observe(n,{attributes:!0}),function(t){r.length||n.setAttribute("yes","no"),r.push(t)}}return i?(window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),r.length>0)){var i=r.shift();i()}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),i.title="browser",i.browser=!0,i.env={},i.argv=[],i.on=e,i.addListener=e,i.once=e,i.off=e,i.removeListener=e,i.removeAllListeners=e,i.emit=e,i.binding=function(){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(){throw new Error("process.chdir is not supported")}},45:function(t){function e(){if(!o){o=!0;for(var t,e=n.length;e;){t=n,n=[];for(var i=-1;++i<e;)t[i]();e=n.length}o=!1}}function i(){}var r=t.exports={},n=[],o=!1;r.nextTick=function(t){n.push(t),o||setTimeout(e,0)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.on=i,r.addListener=i,r.once=i,r.off=i,r.removeListener=i,r.removeAllListeners=i,r.emit=i,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},46:function(){},186:function(t){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAQAAADYBBcfAAAAo0lEQVR4AY3UMYrFMAwGYYHv6Gw7d1uH7B0NebhS8Rhp+TvB1w2KCAaLSfxzk18Gh/HwshuabPPyMILFe5a0ZWcruNhOhW1+gpoKI4KaCjvwm149S2hUWEKnyfKa0KiwhEKNJRRqLKFQZQmNCjM4E1oSHVNasc12WrGL6bRiZf41K2jHtOGeCe2Z0J4J7ZnQ4K6Z0DsY/CXraT7kQ2+S9XQxiA+gWDSL+j5BQwAAAABJRU5ErkJggg=="},187:function(t){t.exports="data:image/png;base64,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"},188:function(t){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAAAAAAtNefkAAAAAnRSTlMAAHaTzTgAAAAVSURBVHgBY0iEAgYIQPBHJUYlRiUANOHCAf3BW84AAAAASUVORK5CYII="},189:function(t){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAQAAACiV3CzAAAAgElEQVR4AbXUIRLDIBhE4eWmrYWbBW6GbWWHmlWrHuLHf/smk4T2er5DW/i099H+da0bIOlM2jGQ3OEAdAKATgDQCYA6AbIDQHYQyA4F7pyhiUB2AMgOAtnhwJ1SsD5du+ShvV304rxNgLdLPm9vl/yi3i65ZrxddFWybZ/r6/4PAB+TEZ4HwLgAAAAASUVORK5CYII="},190:function(t){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAABxklEQVRIx2NgwAJC2RI8Eqcl7E+4mfg58VPijcR98ZPjXIxZMVUm1GMIxUgmzABq+o8JE94nTgwVRdHemvgL1TyOxJbEr9g0ww35GF8NcwlQ7X8UA4B2n8SnGQ4PxAlDtSMbEKOf8ATJpkcJkxI84tRCefx4EzTifBJnJr5AMuJuwnQo6xfCdoT2x/GJDEzoYWPMmpCf8AbDNb+gfkc4PmFtLDcDDhApkngAqwHxzXDtvQyMDHgA0B1XMAyIkYSFfMIa/NrBEYfpAliAJDzC7Xgc2kEGhLLBk008ydpBBgATLcT++5ghT1A72ICpUAP6ydAONmA/hBnnQoZ2sAE3IcxYRQbyADDDQrzAMVAGUOwFYgIRvwFERSO+MHAnLiGhlVyv4O4mPikjGZAK1fEilJmkzAQBccIw+xN7oKURPDuvJZSdGRg82RO2wwpYeBlNfIESypmwE56MK5ED5QQxRVoof8IeRNnswIJapBMsVBPjE57DrXkSKY5eI+Eo1n25ouSBxXpPwjMk2XvxylgcSGzFknAqQgp3AiFQtSX+SKwExz1ugKdy/ZjQGydHVEqDVO+JB0DVe8KXhPsJxxP6E3xDebCpBQBg3TWyTReEugAAAABJRU5ErkJggg=="},191:function(t){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAQAAACqy3WpAAABYUlEQVQ4y2NgIAokhkcpMVAC4gsT7kfLUGRA4v/EG7FilBnwP+FilCBFBgCNOOnHS5EBQCMOhnJSZADQiB2hbCRpjuZLdE/YgjAACNc5sBClNU4voT/hbMIfFM0QVyxhYMKvlzHeO2EPpkYkOBOvzYkX8GqGwD7supniyxJ+EqEd5JEmDN2x3AQcjm5EKbr2g6RoBxowBUm7L1fiARK1L2BgRDIgYT5p2hNXhzIjh3wIibZvNWZF0h4hlfiWJAP2JXCgljjzsNjxL/Fx4r7EeQmT4tsStqPIHQvlQdEeo5L4G0XB1YSuRPdYbhyZ6XyCAHqJtxAu/TthUaIV3tx4LVQUTTJBAp5dtiVoEMjOdyOkMCQTCsAO+xIfSbA8eJyggEUy4QxQ+61oLUIFSsLLGHUsUsAA/J9wM0aSYLH+Lk4Pq1RCauLdOGmCFUtKnBkOqYRZMfpEFE64y594Z4qqLAYAvZLNDU+n+VUAAAAASUVORK5CYII="},192:function(t){t.exports="data:image/gif;base64,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"
},193:function(t){t.exports="data:image/jpeg;base64,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"},194:function(t){t.exports="data:image/jpeg;base64,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"
}});window.IOWA=window.IOWA||{};IOWA.Util=IOWA.Util||function(){"use strict";function createDeferred(){var resolveFn;var rejectFn;var promise=new Promise(function(resolve,reject){resolveFn=resolve;rejectFn=reject});return{promise:promise,resolve:resolveFn,reject:rejectFn}}function smoothStep(start,end,point){if(point<=start){return 0}if(point>=end){return 1}var x=(point-start)/(end-start);return x*x*(3-2*x)}function smoothScroll(el,opt_duration,opt_callback){var duration=opt_duration||1;var scrollContainer=IOWA.Elements.ScrollContainer;var startTime=performance.now();var endTime=startTime+duration;var startTop=scrollContainer.scrollTop;var destY=el.getBoundingClientRect().top;if(destY===0){if(opt_callback){opt_callback()}return}var callback=function(timestamp){if(timestamp<endTime){requestAnimationFrame(callback)}var point=smoothStep(startTime,endTime,timestamp);var scrollTop=Math.round(startTop+destY*point);scrollContainer.scrollTop=scrollTop;if(point===1&&opt_callback){opt_callback()}};callback(startTime)}function isIOS(){return/(iPhone|iPad|iPod)/gi.test(navigator.platform)}function isSafari(){var userAgent=navigator.userAgent;return/Safari/gi.test(userAgent)&&!/Chrome/gi.test(userAgent)}function isIE(){var userAgent=navigator.userAgent;return/Trident/gi.test(userAgent)}function isFF(){var userAgent=navigator.userAgent;return/Firefox/gi.test(userAgent)}function isTouchScreen(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch}function setMetaThemeColor(color){var metaTheme=document.documentElement.querySelector('meta[name="theme-color"]');if(metaTheme){metaTheme.content=color}}function getStaticBaseURL(){var url=location.href.replace(location.hash,"");return url.substring(0,url.lastIndexOf("/")+1)}function getURLParameter(param){if(!window.location.search){return}var m=new RegExp(param+"=([^&]*)").exec(window.location.search.substring(1));if(!m){return}return decodeURIComponent(m[1])}function removeSearchParam(search,name){if(search[0]==="?"){search=search.substring(1)}var parts=search.split("&");var res=[];for(var i=0;i<parts.length;i++){var pair=parts[i].split("=");if(pair[0]===name){continue}res.push(parts[i])}search=res.join("&");if(search.length>0){search="?"+search}return search}function setSearchParam(search,name,value){search=removeSearchParam(search,name);if(search===""){search="?"}if(search.length>1){search+="&"}return search+name+"="+encodeURIComponent(value)}function shortenURL(url){var SHORTENER_API_URL="https://www.googleapis.com/urlshortener/v1/url";var SHORTENER_API_KEY="AIzaSyBRMm_PwR1cfjT_yLxBiV9PDrwZPRIRLxg";var endpoint=SHORTENER_API_URL+"?key="+SHORTENER_API_KEY;return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("POST",endpoint,true);xhr.setRequestHeader("Content-Type","application/json; charset=utf-8");xhr.onloadend=function(e){if(this.status===200){try{var data=JSON.parse(this.response);resolve(data.id)}catch(e){reject("Parsing URL Shortener result failed.")}}else{resolve(url)}};xhr.send(JSON.stringify({longUrl:url}))})}var resizeRipple=function(ripple){var parentRect=ripple.parentNode.getBoundingClientRect();var rippleContainerSize=parentRect.width/2;ripple.style.width=rippleContainerSize+"px";ripple.style.height=rippleContainerSize+"px";ripple.style.left=-(rippleContainerSize/2)+"px";ripple.style.top=-(rippleContainerSize/2)+"px";return parentRect};var reportError=function(error){var location=error&&typeof error.stack==="string"?error.stack.slice(-500):"Unknown Location";IOWA.Analytics.trackError(location,error)};return{createDeferred:createDeferred,isFF:isFF,isIE:isIE,isIOS:isIOS,isSafari:isSafari,isTouchScreen:isTouchScreen,setMetaThemeColor:setMetaThemeColor,supportsHTMLImports:"import"in document.createElement("link"),smoothScroll:smoothScroll,shortenURL:shortenURL,getURLParameter:getURLParameter,getStaticBaseURL:getStaticBaseURL,setSearchParam:setSearchParam,removeSearchParam:removeSearchParam,resizeRipple:resizeRipple,reportError:reportError}}();(function(){"use strict";function lib$es6$promise$utils$$objectOrFunction(x){return typeof x==="function"||typeof x==="object"&&x!==null}function lib$es6$promise$utils$$isFunction(x){return typeof x==="function"}function lib$es6$promise$utils$$isMaybeThenable(x){return typeof x==="object"&&x!==null}var lib$es6$promise$utils$$_isArray;if(!Array.isArray){lib$es6$promise$utils$$_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}else{lib$es6$promise$utils$$_isArray=Array.isArray}var lib$es6$promise$utils$$isArray=lib$es6$promise$utils$$_isArray;var lib$es6$promise$asap$$len=0;var lib$es6$promise$asap$$toString={}.toString;var lib$es6$promise$asap$$vertxNext;var lib$es6$promise$asap$$customSchedulerFn;function lib$es6$promise$asap$$asap(callback,arg){lib$es6$promise$asap$$queue[lib$es6$promise$asap$$len]=callback;lib$es6$promise$asap$$queue[lib$es6$promise$asap$$len+1]=arg;lib$es6$promise$asap$$len+=2;if(lib$es6$promise$asap$$len===2){if(lib$es6$promise$asap$$customSchedulerFn){lib$es6$promise$asap$$customSchedulerFn(lib$es6$promise$asap$$flush)}else{lib$es6$promise$asap$$scheduleFlush()}}}var lib$es6$promise$asap$$default=lib$es6$promise$asap$$asap;function lib$es6$promise$asap$$setScheduler(scheduleFn){lib$es6$promise$asap$$customSchedulerFn=scheduleFn}var lib$es6$promise$asap$$browserWindow=typeof window!=="undefined"?window:undefined;var lib$es6$promise$asap$$browserGlobal=lib$es6$promise$asap$$browserWindow||{};var lib$es6$promise$asap$$BrowserMutationObserver=lib$es6$promise$asap$$browserGlobal.MutationObserver||lib$es6$promise$asap$$browserGlobal.WebKitMutationObserver;var lib$es6$promise$asap$$isNode=typeof process!=="undefined"&&{}.toString.call(process)==="[object process]";var lib$es6$promise$asap$$isWorker=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function lib$es6$promise$asap$$useNextTick(){var nextTick=process.nextTick;var version=process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);if(Array.isArray(version)&&version[1]==="0"&&version[2]==="10"){nextTick=setImmediate}return function(){nextTick(lib$es6$promise$asap$$flush)}}function lib$es6$promise$asap$$useVertxTimer(){return function(){lib$es6$promise$asap$$vertxNext(lib$es6$promise$asap$$flush)}}function lib$es6$promise$asap$$useMutationObserver(){var iterations=0;var observer=new lib$es6$promise$asap$$BrowserMutationObserver(lib$es6$promise$asap$$flush);var node=document.createTextNode("");observer.observe(node,{characterData:true});return function(){node.data=iterations=++iterations%2}}function lib$es6$promise$asap$$useMessageChannel(){var channel=new MessageChannel;channel.port1.onmessage=lib$es6$promise$asap$$flush;return function(){channel.port2.postMessage(0)}}function lib$es6$promise$asap$$useSetTimeout(){return function(){setTimeout(lib$es6$promise$asap$$flush,1)}}var lib$es6$promise$asap$$queue=new Array(1e3);function lib$es6$promise$asap$$flush(){for(var i=0;i<lib$es6$promise$asap$$len;i+=2){var callback=lib$es6$promise$asap$$queue[i];var arg=lib$es6$promise$asap$$queue[i+1];callback(arg);lib$es6$promise$asap$$queue[i]=undefined;lib$es6$promise$asap$$queue[i+1]=undefined}lib$es6$promise$asap$$len=0}function lib$es6$promise$asap$$attemptVertex(){try{var r=require;var vertx=r("vertx");lib$es6$promise$asap$$vertxNext=vertx.runOnLoop||vertx.runOnContext;return lib$es6$promise$asap$$useVertxTimer()}catch(e){return lib$es6$promise$asap$$useSetTimeout()}}var lib$es6$promise$asap$$scheduleFlush;if(lib$es6$promise$asap$$isNode){lib$es6$promise$asap$$scheduleFlush=lib$es6$promise$asap$$useNextTick()}else if(lib$es6$promise$asap$$BrowserMutationObserver){lib$es6$promise$asap$$scheduleFlush=lib$es6$promise$asap$$useMutationObserver()}else if(lib$es6$promise$asap$$isWorker){lib$es6$promise$asap$$scheduleFlush=lib$es6$promise$asap$$useMessageChannel()}else if(lib$es6$promise$asap$$browserWindow===undefined&&typeof require==="function"){lib$es6$promise$asap$$scheduleFlush=lib$es6$promise$asap$$attemptVertex()}else{lib$es6$promise$asap$$scheduleFlush=lib$es6$promise$asap$$useSetTimeout()}function lib$es6$promise$$internal$$noop(){}var lib$es6$promise$$internal$$PENDING=void 0;var lib$es6$promise$$internal$$FULFILLED=1;var lib$es6$promise$$internal$$REJECTED=2;var lib$es6$promise$$internal$$GET_THEN_ERROR=new lib$es6$promise$$internal$$ErrorObject;function lib$es6$promise$$internal$$selfFullfillment(){return new TypeError("You cannot resolve a promise with itself")}function lib$es6$promise$$internal$$cannotReturnOwn(){return new TypeError("A promises callback cannot return that same promise.")}function lib$es6$promise$$internal$$getThen(promise){try{return promise.then}catch(error){lib$es6$promise$$internal$$GET_THEN_ERROR.error=error;return lib$es6$promise$$internal$$GET_THEN_ERROR}}function lib$es6$promise$$internal$$tryThen(then,value,fulfillmentHandler,rejectionHandler){try{then.call(value,fulfillmentHandler,rejectionHandler)}catch(e){return e}}function lib$es6$promise$$internal$$handleForeignThenable(promise,thenable,then){lib$es6$promise$asap$$default(function(promise){var sealed=false;var error=lib$es6$promise$$internal$$tryThen(then,thenable,function(value){if(sealed){return}sealed=true;if(thenable!==value){lib$es6$promise$$internal$$resolve(promise,value)}else{lib$es6$promise$$internal$$fulfill(promise,value)}},function(reason){if(sealed){return}sealed=true;lib$es6$promise$$internal$$reject(promise,reason)},"Settle: "+(promise._label||" unknown promise"));if(!sealed&&error){sealed=true;lib$es6$promise$$internal$$reject(promise,error)}},promise)}function lib$es6$promise$$internal$$handleOwnThenable(promise,thenable){if(thenable._state===lib$es6$promise$$internal$$FULFILLED){lib$es6$promise$$internal$$fulfill(promise,thenable._result)}else if(thenable._state===lib$es6$promise$$internal$$REJECTED){lib$es6$promise$$internal$$reject(promise,thenable._result)}else{lib$es6$promise$$internal$$subscribe(thenable,undefined,function(value){lib$es6$promise$$internal$$resolve(promise,value)},function(reason){lib$es6$promise$$internal$$reject(promise,reason)})}}function lib$es6$promise$$internal$$handleMaybeThenable(promise,maybeThenable){if(maybeThenable.constructor===promise.constructor){lib$es6$promise$$internal$$handleOwnThenable(promise,maybeThenable)}else{var then=lib$es6$promise$$internal$$getThen(maybeThenable);if(then===lib$es6$promise$$internal$$GET_THEN_ERROR){lib$es6$promise$$internal$$reject(promise,lib$es6$promise$$internal$$GET_THEN_ERROR.error)}else if(then===undefined){lib$es6$promise$$internal$$fulfill(promise,maybeThenable)}else if(lib$es6$promise$utils$$isFunction(then)){lib$es6$promise$$internal$$handleForeignThenable(promise,maybeThenable,then)}else{lib$es6$promise$$internal$$fulfill(promise,maybeThenable)}}}function lib$es6$promise$$internal$$resolve(promise,value){if(promise===value){lib$es6$promise$$internal$$reject(promise,lib$es6$promise$$internal$$selfFullfillment())}else if(lib$es6$promise$utils$$objectOrFunction(value)){lib$es6$promise$$internal$$handleMaybeThenable(promise,value)}else{lib$es6$promise$$internal$$fulfill(promise,value)}}function lib$es6$promise$$internal$$publishRejection(promise){if(promise._onerror){promise._onerror(promise._result)}lib$es6$promise$$internal$$publish(promise)}function lib$es6$promise$$internal$$fulfill(promise,value){if(promise._state!==lib$es6$promise$$internal$$PENDING){return}promise._result=value;promise._state=lib$es6$promise$$internal$$FULFILLED;if(promise._subscribers.length!==0){lib$es6$promise$asap$$default(lib$es6$promise$$internal$$publish,promise)}}function lib$es6$promise$$internal$$reject(promise,reason){if(promise._state!==lib$es6$promise$$internal$$PENDING){return}promise._state=lib$es6$promise$$internal$$REJECTED;promise._result=reason;lib$es6$promise$asap$$default(lib$es6$promise$$internal$$publishRejection,promise)}function lib$es6$promise$$internal$$subscribe(parent,child,onFulfillment,onRejection){var subscribers=parent._subscribers;var length=subscribers.length;parent._onerror=null;subscribers[length]=child;subscribers[length+lib$es6$promise$$internal$$FULFILLED]=onFulfillment;subscribers[length+lib$es6$promise$$internal$$REJECTED]=onRejection;if(length===0&&parent._state){lib$es6$promise$asap$$default(lib$es6$promise$$internal$$publish,parent)}}function lib$es6$promise$$internal$$publish(promise){var subscribers=promise._subscribers;var settled=promise._state;if(subscribers.length===0){return}var child,callback,detail=promise._result;for(var i=0;i<subscribers.length;i+=3){child=subscribers[i];callback=subscribers[i+settled];if(child){lib$es6$promise$$internal$$invokeCallback(settled,child,callback,detail)}else{callback(detail)}}promise._subscribers.length=0}function lib$es6$promise$$internal$$ErrorObject(){this.error=null}var lib$es6$promise$$internal$$TRY_CATCH_ERROR=new lib$es6$promise$$internal$$ErrorObject;function lib$es6$promise$$internal$$tryCatch(callback,detail){try{return callback(detail)}catch(e){lib$es6$promise$$internal$$TRY_CATCH_ERROR.error=e;return lib$es6$promise$$internal$$TRY_CATCH_ERROR}}function lib$es6$promise$$internal$$invokeCallback(settled,promise,callback,detail){var hasCallback=lib$es6$promise$utils$$isFunction(callback),value,error,succeeded,failed;if(hasCallback){value=lib$es6$promise$$internal$$tryCatch(callback,detail);if(value===lib$es6$promise$$internal$$TRY_CATCH_ERROR){failed=true;error=value.error;value=null}else{succeeded=true}if(promise===value){lib$es6$promise$$internal$$reject(promise,lib$es6$promise$$internal$$cannotReturnOwn());return}}else{value=detail;succeeded=true}if(promise._state!==lib$es6$promise$$internal$$PENDING){}else if(hasCallback&&succeeded){lib$es6$promise$$internal$$resolve(promise,value)}else if(failed){lib$es6$promise$$internal$$reject(promise,error)}else if(settled===lib$es6$promise$$internal$$FULFILLED){lib$es6$promise$$internal$$fulfill(promise,value)}else if(settled===lib$es6$promise$$internal$$REJECTED){lib$es6$promise$$internal$$reject(promise,value)}}function lib$es6$promise$$internal$$initializePromise(promise,resolver){try{resolver(function resolvePromise(value){lib$es6$promise$$internal$$resolve(promise,value)},function rejectPromise(reason){lib$es6$promise$$internal$$reject(promise,reason)})}catch(e){lib$es6$promise$$internal$$reject(promise,e)}}function lib$es6$promise$enumerator$$Enumerator(Constructor,input){var enumerator=this;enumerator._instanceConstructor=Constructor;enumerator.promise=new Constructor(lib$es6$promise$$internal$$noop);if(enumerator._validateInput(input)){enumerator._input=input;enumerator.length=input.length;enumerator._remaining=input.length;enumerator._init();if(enumerator.length===0){lib$es6$promise$$internal$$fulfill(enumerator.promise,enumerator._result)}else{enumerator.length=enumerator.length||0;enumerator._enumerate();if(enumerator._remaining===0){lib$es6$promise$$internal$$fulfill(enumerator.promise,enumerator._result)}}}else{lib$es6$promise$$internal$$reject(enumerator.promise,enumerator._validationError())}}lib$es6$promise$enumerator$$Enumerator.prototype._validateInput=function(input){return lib$es6$promise$utils$$isArray(input)};lib$es6$promise$enumerator$$Enumerator.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")};lib$es6$promise$enumerator$$Enumerator.prototype._init=function(){this._result=new Array(this.length)};var lib$es6$promise$enumerator$$default=lib$es6$promise$enumerator$$Enumerator;lib$es6$promise$enumerator$$Enumerator.prototype._enumerate=function(){var enumerator=this;var length=enumerator.length;var promise=enumerator.promise;var input=enumerator._input;for(var i=0;promise._state===lib$es6$promise$$internal$$PENDING&&i<length;i++){enumerator._eachEntry(input[i],i)}};lib$es6$promise$enumerator$$Enumerator.prototype._eachEntry=function(entry,i){var enumerator=this;var c=enumerator._instanceConstructor;if(lib$es6$promise$utils$$isMaybeThenable(entry)){if(entry.constructor===c&&entry._state!==lib$es6$promise$$internal$$PENDING){entry._onerror=null;enumerator._settledAt(entry._state,i,entry._result)}else{enumerator._willSettleAt(c.resolve(entry),i)}}else{enumerator._remaining--;enumerator._result[i]=entry}};lib$es6$promise$enumerator$$Enumerator.prototype._settledAt=function(state,i,value){var enumerator=this;var promise=enumerator.promise;if(promise._state===lib$es6$promise$$internal$$PENDING){enumerator._remaining--;if(state===lib$es6$promise$$internal$$REJECTED){lib$es6$promise$$internal$$reject(promise,value)}else{enumerator._result[i]=value}}if(enumerator._remaining===0){lib$es6$promise$$internal$$fulfill(promise,enumerator._result)}};lib$es6$promise$enumerator$$Enumerator.prototype._willSettleAt=function(promise,i){var enumerator=this;lib$es6$promise$$internal$$subscribe(promise,undefined,function(value){enumerator._settledAt(lib$es6$promise$$internal$$FULFILLED,i,value)},function(reason){enumerator._settledAt(lib$es6$promise$$internal$$REJECTED,i,reason)})};function lib$es6$promise$promise$all$$all(entries){return new lib$es6$promise$enumerator$$default(this,entries).promise}var lib$es6$promise$promise$all$$default=lib$es6$promise$promise$all$$all;function lib$es6$promise$promise$race$$race(entries){var Constructor=this;var promise=new Constructor(lib$es6$promise$$internal$$noop);if(!lib$es6$promise$utils$$isArray(entries)){lib$es6$promise$$internal$$reject(promise,new TypeError("You must pass an array to race."));return promise}var length=entries.length;function onFulfillment(value){lib$es6$promise$$internal$$resolve(promise,value)}function onRejection(reason){lib$es6$promise$$internal$$reject(promise,reason)}for(var i=0;promise._state===lib$es6$promise$$internal$$PENDING&&i<length;i++){lib$es6$promise$$internal$$subscribe(Constructor.resolve(entries[i]),undefined,onFulfillment,onRejection)}return promise}var lib$es6$promise$promise$race$$default=lib$es6$promise$promise$race$$race;function lib$es6$promise$promise$resolve$$resolve(object){var Constructor=this;if(object&&typeof object==="object"&&object.constructor===Constructor){return object}var promise=new Constructor(lib$es6$promise$$internal$$noop);lib$es6$promise$$internal$$resolve(promise,object);return promise}var lib$es6$promise$promise$resolve$$default=lib$es6$promise$promise$resolve$$resolve;function lib$es6$promise$promise$reject$$reject(reason){var Constructor=this;var promise=new Constructor(lib$es6$promise$$internal$$noop);lib$es6$promise$$internal$$reject(promise,reason);return promise}var lib$es6$promise$promise$reject$$default=lib$es6$promise$promise$reject$$reject;var lib$es6$promise$promise$$counter=0;function lib$es6$promise$promise$$needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function lib$es6$promise$promise$$needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var lib$es6$promise$promise$$default=lib$es6$promise$promise$$Promise;function lib$es6$promise$promise$$Promise(resolver){this._id=lib$es6$promise$promise$$counter++;this._state=undefined;this._result=undefined;this._subscribers=[];if(lib$es6$promise$$internal$$noop!==resolver){if(!lib$es6$promise$utils$$isFunction(resolver)){lib$es6$promise$promise$$needsResolver()}if(!(this instanceof lib$es6$promise$promise$$Promise)){lib$es6$promise$promise$$needsNew()}lib$es6$promise$$internal$$initializePromise(this,resolver)}}lib$es6$promise$promise$$Promise.all=lib$es6$promise$promise$all$$default;lib$es6$promise$promise$$Promise.race=lib$es6$promise$promise$race$$default;lib$es6$promise$promise$$Promise.resolve=lib$es6$promise$promise$resolve$$default;lib$es6$promise$promise$$Promise.reject=lib$es6$promise$promise$reject$$default;lib$es6$promise$promise$$Promise._setScheduler=lib$es6$promise$asap$$setScheduler;lib$es6$promise$promise$$Promise._asap=lib$es6$promise$asap$$default;lib$es6$promise$promise$$Promise.prototype={constructor:lib$es6$promise$promise$$Promise,then:function(onFulfillment,onRejection){var parent=this;var state=parent._state;if(state===lib$es6$promise$$internal$$FULFILLED&&!onFulfillment||state===lib$es6$promise$$internal$$REJECTED&&!onRejection){return this}var child=new this.constructor(lib$es6$promise$$internal$$noop);var result=parent._result;if(state){var callback=arguments[state-1];lib$es6$promise$asap$$default(function(){lib$es6$promise$$internal$$invokeCallback(state,child,callback,result)})}else{lib$es6$promise$$internal$$subscribe(parent,child,onFulfillment,onRejection)}return child},"catch":function(onRejection){return this.then(null,onRejection)}};function lib$es6$promise$polyfill$$polyfill(){var local;if(typeof global!=="undefined"){local=global}else if(typeof self!=="undefined"){local=self}else{try{local=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}}var P=local.Promise;if(P&&Object.prototype.toString.call(P.resolve())==="[object Promise]"&&!P.cast){return}local.Promise=lib$es6$promise$promise$$default}var lib$es6$promise$polyfill$$default=lib$es6$promise$polyfill$$polyfill;var lib$es6$promise$umd$$ES6Promise={Promise:lib$es6$promise$promise$$default,polyfill:lib$es6$promise$polyfill$$default};if(typeof define==="function"&&define["amd"]){define(function(){return lib$es6$promise$umd$$ES6Promise})}else if(typeof module!=="undefined"&&module["exports"]){module["exports"]=lib$es6$promise$umd$$ES6Promise}else if(typeof this!=="undefined"){this["ES6Promise"]=lib$es6$promise$umd$$ES6Promise}lib$es6$promise$polyfill$$default()}).call(this);var IOWA=IOWA||{};IOWA.WebglGlobe=IOWA.WebglGlobe||{};IOWA.WebglGlobe.Matrix4x4=function(){this.m_=new Float32Array(16);this.identity()};IOWA.WebglGlobe.ArrayLike;IOWA.WebglGlobe.Matrix4x4.prototype.getElement=function(row,column){return this.m_[column*4+row]};IOWA.WebglGlobe.Matrix4x4.prototype.identity=function(){for(var i=0;i<this.m_.length;i++){this.m_[i]=i%5?0:1}return this};IOWA.WebglGlobe.Matrix4x4.prototype.invertAffine=function(src){var m=this.m_;var s=src.m_;m[0]=s[5]*s[10]-s[9]*s[6];m[1]=-s[1]*s[10]+s[9]*s[2];m[2]=s[1]*s[6]-s[5]*s[2];m[3]=0;m[4]=-s[4]*s[10]+s[8]*s[6];m[5]=s[0]*s[10]-s[8]*s[2];m[6]=-s[0]*s[6]+s[2]*s[4];m[7]=0;m[8]=s[4]*s[9]-s[5]*s[8];m[9]=-s[0]*s[9]+s[1]*s[8];m[10]=s[0]*s[5]-s[1]*s[4];m[11]=0;var det=1/(s[0]*m[0]+s[1]*m[4]+s[2]*m[8]);m[0]*=det;m[1]*=det;m[2]*=det;m[4]*=det;m[5]*=det;m[6]*=det;m[8]*=det;m[9]*=det;m[10]*=det;m[12]=-s[12]*m[0]-s[13]*m[4]-s[14]*m[8];m[13]=-s[12]*m[1]-s[13]*m[5]-s[14]*m[9];m[14]=-s[12]*m[2]-s[13]*m[6]-s[14]*m[10];m[15]=1;return this};IOWA.WebglGlobe.Matrix4x4.prototype.perspective=function(fov,aspect,near,far){var cx=Math.cos(fov/2);var cy=cx;var s=-Math.sin(fov/2);var q=s/(1-near/far);var zs=q*(1+near/far);var zt=q*2*near;var tmp2,tmp6,tmp10,tmp14;var m=this.m_;if(aspect>1){cx/=aspect}else{cy*=aspect}m[0]*=cx;m[4]*=cx;m[8]*=cx;m[12]*=cx;m[1]*=cy;m[5]*=cy;m[9]*=cy;m[13]*=cy;tmp2=m[2];tmp6=m[6];tmp10=m[10];tmp14=m[14];m[2]=tmp2*zs+m[3]*zt;m[6]=tmp6*zs+m[7]*zt;m[10]=tmp10*zs+m[11]*zt;m[14]=tmp14*zs+m[15]*zt;m[3]=tmp2*s;m[7]=tmp6*s;m[11]=tmp10*s;m[15]=tmp14*s;return this};IOWA.WebglGlobe.Matrix4x4.prototype.product=function(view,local){var v=view.m_;var l=local.m_;var m0=v[0]*l[0]+v[4]*l[1]+v[8]*l[2]+v[12]*l[3];var m1=v[1]*l[0]+v[5]*l[1]+v[9]*l[2]+v[13]*l[3];var m2=v[2]*l[0]+v[6]*l[1]+v[10]*l[2]+v[14]*l[3];var m3=v[3]*l[0]+v[7]*l[1]+v[11]*l[2]+v[15]*l[3];var m4=v[0]*l[4]+v[4]*l[5]+v[8]*l[6]+v[12]*l[7];var m5=v[1]*l[4]+v[5]*l[5]+v[9]*l[6]+v[13]*l[7];var m6=v[2]*l[4]+v[6]*l[5]+v[10]*l[6]+v[14]*l[7];var m7=v[3]*l[4]+v[7]*l[5]+v[11]*l[6]+v[15]*l[7];var m8=v[0]*l[8]+v[4]*l[9]+v[8]*l[10]+v[12]*l[11];var m9=v[1]*l[8]+v[5]*l[9]+v[9]*l[10]+v[13]*l[11];var m10=v[2]*l[8]+v[6]*l[9]+v[10]*l[10]+v[14]*l[11];var m11=v[3]*l[8]+v[7]*l[9]+v[11]*l[10]+v[15]*l[11];var m12=v[0]*l[12]+v[4]*l[13]+v[8]*l[14]+v[12]*l[15];var m13=v[1]*l[12]+v[5]*l[13]+v[9]*l[14]+v[13]*l[15];var m14=v[2]*l[12]+v[6]*l[13]+v[10]*l[14]+v[14]*l[15];var m15=v[3]*l[12]+v[7]*l[13]+v[11]*l[14]+v[15]*l[15];this.m_[0]=m0;this.m_[1]=m1;this.m_[2]=m2;this.m_[3]=m3;this.m_[4]=m4;this.m_[5]=m5;this.m_[6]=m6;this.m_[7]=m7;this.m_[8]=m8;this.m_[9]=m9;this.m_[10]=m10;this.m_[11]=m11;this.m_[12]=m12;this.m_[13]=m13;this.m_[14]=m14;this.m_[15]=m15;return this};IOWA.WebglGlobe.Matrix4x4.prototype.rotateX=function(theta){var cos=Math.cos(theta);var sin=Math.sin(theta);var m=this.m_;var c2=cos*m[4]+m[8]*sin;var c3=cos*m[8]-m[4]*sin;m[4]=c2;m[8]=c3;c2=cos*m[5]+m[9]*sin;c3=cos*m[9]-m[5]*sin;m[5]=c2;m[9]=c3;c2=cos*m[6]+m[10]*sin;c3=cos*m[10]-m[6]*sin;m[6]=c2;m[10]=c3;c2=cos*m[7]+m[11]*sin;c3=cos*m[11]-m[7]*sin;m[7]=c2;m[11]=c3;return this};IOWA.WebglGlobe.Matrix4x4.prototype.rotateY=function(theta){var cos=Math.cos(theta);var sin=Math.sin(theta);var m=this.m_;var c1=cos*m[0]-m[8]*sin;var c3=cos*m[8]+m[0]*sin;m[0]=c1;m[8]=c3;c1=cos*m[1]-m[9]*sin;c3=cos*m[9]+m[1]*sin;m[1]=c1;m[9]=c3;c1=cos*m[2]-m[10]*sin;c3=cos*m[10]+m[2]*sin;m[2]=c1;m[10]=c3;c1=cos*m[3]-m[11]*sin;c3=cos*m[11]+m[3]*sin;m[3]=c1;m[11]=c3;return this};IOWA.WebglGlobe.Matrix4x4.prototype.rotateZ=function(theta){var cos=Math.cos(theta);var sin=Math.sin(theta);var m=this.m_;var c1=cos*m[0]+m[4]*sin;var c2=cos*m[4]-m[0]*sin;m[0]=c1;m[4]=c2;c1=cos*m[1]+m[5]*sin;c2=cos*m[5]-m[1]*sin;m[1]=c1;m[5]=c2;c1=cos*m[2]+m[6]*sin;c2=cos*m[6]-m[2]*sin;m[2]=c1;m[6]=c2;c1=cos*m[3]+m[7]*sin;c2=cos*m[7]-m[3]*sin;m[3]=c1;m[7]=c2;return this};IOWA.WebglGlobe.Matrix4x4.prototype.scaleUniform=function(scale){var m=this.m_;m[0]*=scale;m[1]*=scale;m[2]*=scale;m[3]*=scale;m[4]*=scale;m[5]*=scale;m[6]*=scale;m[7]*=scale;m[8]*=scale;m[9]*=scale;m[10]*=scale;m[11]*=scale;return this};IOWA.WebglGlobe.Matrix4x4.prototype.transformVec4=function(destVec,vec){var m=this.m_;var v0=vec[0];var v1=vec[1];var v2=vec[2];var v3=vec[3];destVec[0]=v0*m[0]+v1*m[4]+v2*m[8]+v3*m[12];destVec[1]=v0*m[1]+v1*m[5]+v2*m[9]+v3*m[13];destVec[2]=v0*m[2]+v1*m[6]+v2*m[10]+v3*m[14];destVec[3]=v0*m[3]+v1*m[7]+v2*m[11]+v3*m[15];return destVec};IOWA.WebglGlobe.Matrix4x4.prototype.transformOffsetVec4=function(destVec,destVecOffset,vec,vecOffset){var m=this.m_;var v0=vec[0+vecOffset];var v1=vec[1+vecOffset];var v2=vec[2+vecOffset];var v3=vec[3+vecOffset];destVec[0+destVecOffset]=v0*m[0]+v1*m[4]+v2*m[8]+v3*m[12];destVec[1+destVecOffset]=v0*m[1]+v1*m[5]+v2*m[9]+v3*m[13];destVec[2+destVecOffset]=v0*m[2]+v1*m[6]+v2*m[10]+v3*m[14];destVec[3+destVecOffset]=v0*m[3]+v1*m[7]+v2*m[11]+v3*m[15]};IOWA.WebglGlobe.Matrix4x4.prototype.translate=function(tx,ty,tz){var m=this.m_;m[12]+=m[0]*tx+m[4]*ty+m[8]*tz;m[13]+=m[1]*tx+m[5]*ty+m[9]*tz;m[14]+=m[2]*tx+m[6]*ty+m[10]*tz;m[15]+=m[3]*tx+m[7]*ty+m[11]*tz;return this};IOWA.WebglGlobe.ShaderProgram=function(gl,opt_vertexSrc,opt_fragmentSrc){this.gl_=gl;this.attributes={};this.uniforms={};this.vertexShader_=gl.createShader(gl.VERTEX_SHADER);this.vertexCompiled_=false;this.fragmentShader_=gl.createShader(gl.FRAGMENT_SHADER);this.fragmentCompiled_=false;this.program=gl.createProgram();this.programLinked_=false;gl.attachShader(this.program,this.vertexShader_);gl.attachShader(this.program,this.fragmentShader_);if(opt_vertexSrc){this.setVertexShader(opt_vertexSrc)}if(opt_fragmentSrc){this.setFragmentShader(opt_fragmentSrc)}if(this.vertexCompiled_&&this.fragmentCompiled_){this.link()}};IOWA.WebglGlobe.ShaderProgram.UNIFORM_SETTERS_={5126:"uniform1f",35664:"uniform2f",35665:"uniform3f",35666:"uniform4f",5124:"uniform1i",35667:"uniform2i",35668:"uniform3i",35669:"uniform4i",35670:"uniform1i",35671:"uniform2i",35672:"uniform3i",35673:"uniform4i",35678:"uniform1i",35680:"uniform1i"};IOWA.WebglGlobe.ShaderProgram.UNIFORM_MATRIX_SETTERS_={35674:"uniformMatrix2fv",35675:"uniformMatrix3fv",35676:"uniformMatrix4fv"};IOWA.WebglGlobe.ShaderProgram.fromXhr=function(gl,vertexUrl,fragmentUrl){var program=new IOWA.WebglGlobe.ShaderProgram(gl);return Promise.all([IOWA.WebglGlobe.ShaderProgram.promiseXhr_(vertexUrl).then(program.setVertexShader.bind(program)),IOWA.WebglGlobe.ShaderProgram.promiseXhr_(fragmentUrl).then(program.setFragmentShader.bind(program))]).then(function(){program.link();return program})};IOWA.WebglGlobe.ShaderProgram.promiseXhr_=function(url){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("GET",url);xhr.onload=function(e){if(this.status===200){resolve(this.response)}else{reject(this.statusText)}};xhr.onerror=function(e){reject(this.statusText)};xhr.send()})};IOWA.WebglGlobe.ShaderProgram.prototype.isReady=function(){return this.programLinked_};IOWA.WebglGlobe.ShaderProgram.prototype.compileShader_=function(src,shader){this.gl_.shaderSource(shader,src);this.gl_.compileShader(shader);var compileStatus=this.gl_.getShaderParameter(shader,this.gl_.COMPILE_STATUS);this.programLinked_=false;return compileStatus};IOWA.WebglGlobe.ShaderProgram.prototype.setFragmentShader=function(src){this.fragmentCompiled_=this.compileShader_(src,this.fragmentShader_);if(!this.fragmentCompiled_){throw new Error("Fragment shader failed to compile. Log: "+this.getFragmentShaderInfoLog())}};IOWA.WebglGlobe.ShaderProgram.prototype.setVertexShader=function(src){this.vertexCompiled_=this.compileShader_(src,this.vertexShader_);if(!this.vertexCompiled_){throw new Error("Vertex shader failed to compile. Log: "+this.getVertexShaderInfoLog())}};IOWA.WebglGlobe.ShaderProgram.prototype.getFragmentShaderInfoLog=function(){return this.gl_.getShaderInfoLog(this.fragmentShader_)};IOWA.WebglGlobe.ShaderProgram.prototype.getProgramInfoLog=function(){return this.gl_.getProgramInfoLog(this.program)};IOWA.WebglGlobe.ShaderProgram.prototype.getVertexShaderInfoLog=function(){return this.gl_.getShaderInfoLog(this.vertexShader_)};IOWA.WebglGlobe.ShaderProgram.prototype.initAttributes_=function(){var count=this.gl_.getProgramParameter(this.program,this.gl_.ACTIVE_ATTRIBUTES);this.attributes={};for(var i=0;i<count;i++){var info=this.gl_.getActiveAttrib(this.program,i);var loc=this.gl_.getAttribLocation(this.program,info.name);this.attributes[info.name]=loc}};IOWA.WebglGlobe.ShaderProgram.createUniformSetter_=function(set,setVec){return function setUniform(){if(Array.isArray(arguments[0])||ArrayBuffer.isView(arguments[0])){setVec(arguments[0])}else{set.apply(null,arguments)}}};IOWA.WebglGlobe.ShaderProgram.prototype.initUniforms_=function(){var gl=this.gl_;this.uniforms={};var count=gl.getProgramParameter(this.program,gl.ACTIVE_UNIFORMS);for(var i=0;i<count;i++){var info=gl.getActiveUniform(this.program,i);var name=info.name;var location=gl.getUniformLocation(this.program,name);var ShaderProgram=IOWA.WebglGlobe.ShaderProgram;if(ShaderProgram.UNIFORM_SETTERS_[info.type]){var setterMethod=ShaderProgram.UNIFORM_SETTERS_[info.type];var set=gl[setterMethod].bind(gl,location);var setVec=gl[setterMethod+"v"].bind(gl,location);this.uniforms[name]=ShaderProgram.createUniformSetter_(set,setVec);this.uniforms[name].set=set;this.uniforms[name].setVec=setVec;this.uniforms[name].location=location}else if(ShaderProgram.UNIFORM_MATRIX_SETTERS_[info.type]){var setterMatMethod=ShaderProgram.UNIFORM_MATRIX_SETTERS_[info.type];this.uniforms[name]=gl[setterMatMethod].bind(gl,location,false);this.uniforms[name].location=location}else{throw new Error("Uniform "+name+" has unknown type "+info.type)}}};IOWA.WebglGlobe.ShaderProgram.prototype.link=function(){if(!this.vertexCompiled_){throw new Error("Current vertex shader has not been compiled")}if(!this.fragmentCompiled_){throw new Error("Current vertex shader has not been compiled")}this.gl_.linkProgram(this.program);this.programLinked_=this.gl_.getProgramParameter(this.program,this.gl_.LINK_STATUS);if(!this.programLinked_){throw new Error("Program failed to link. Log: "+this.getProgramInfoLog())}else{this.initAttributes_();this.initUniforms_()}};IOWA.WebglGlobe.ShaderProgram.prototype.use=function(){this.gl_.useProgram(this.program)};IOWA.WebglGlobe.ShaderProgram.prototype.validateProgram=function(){this.gl_.validateProgram(this.program);
return this.gl_.getProgramParameter(this.program,this.gl_.VALIDATE_STATUS)};IOWA.WebglGlobe.generateGeometry=function(){"use strict";var COMPONENTS_PER_VERTEX_=4;var SHORT_DIM=Math.sqrt((5-Math.sqrt(5))/10);var LONG_DIM=Math.sqrt((5+Math.sqrt(5))/10);var CORNERS=[SHORT_DIM,0,LONG_DIM,1,0,LONG_DIM,SHORT_DIM,1,-SHORT_DIM,0,LONG_DIM,1,0,-LONG_DIM,SHORT_DIM,1,LONG_DIM,-SHORT_DIM,0,1,LONG_DIM,SHORT_DIM,0,1,0,LONG_DIM,-SHORT_DIM,1,-LONG_DIM,SHORT_DIM,0,1,-LONG_DIM,-SHORT_DIM,0,1,0,-LONG_DIM,-SHORT_DIM,1,SHORT_DIM,0,-LONG_DIM,1,-SHORT_DIM,0,-LONG_DIM,1];function lerpVert(dest,destIndex,from,fromIndex,to,toIndex,t){for(var i=0;i<COMPONENTS_PER_VERTEX_;i++){var a=from[fromIndex+i];var b=to[toIndex+i];dest[destIndex+i]=a+t*(b-a)}}return function generateGeometry(divisions){divisions=Math.max(1,divisions);var vertCount=5*((2*divisions+3)*divisions+1);var geometryArray=new Float32Array(vertCount*COMPONENTS_PER_VERTEX_);var left=new Float32Array(COMPONENTS_PER_VERTEX_);var mid=new Float32Array(COMPONENTS_PER_VERTEX_);var right=new Float32Array(COMPONENTS_PER_VERTEX_);var geomCursor=0;for(var i=0;i<5;i++){var topLeft=0;var topRight=((i+1)%5+1)*COMPONENTS_PER_VERTEX_;var bottomLeft=(i+1)*COMPONENTS_PER_VERTEX_;var bottomRight=((i+1)%5+6)*COMPONENTS_PER_VERTEX_;var u;for(var ui=0;ui<divisions+1;ui++){u=ui/divisions;lerpVert(geometryArray,geomCursor*COMPONENTS_PER_VERTEX_,CORNERS,topLeft,CORNERS,topRight,u);geomCursor++}for(var j=0;j<2;j++){for(var vi=1;vi<divisions+1;vi++){var v=vi/divisions;lerpVert(left,0,CORNERS,topLeft,CORNERS,bottomLeft,v);lerpVert(mid,0,CORNERS,topRight,CORNERS,bottomLeft,v);lerpVert(right,0,CORNERS,topRight,CORNERS,bottomRight,v);for(ui=0;ui<divisions-vi;ui++){u=ui/(divisions-vi);lerpVert(geometryArray,geomCursor*COMPONENTS_PER_VERTEX_,left,0,mid,0,u);geomCursor++}for(ui=0;ui<vi+1;ui++){u=ui/vi;lerpVert(geometryArray,geomCursor*COMPONENTS_PER_VERTEX_,mid,0,right,0,u);geomCursor++}}topLeft=bottomLeft;topRight=bottomRight;bottomLeft=(i+6)*COMPONENTS_PER_VERTEX_;bottomRight=11*COMPONENTS_PER_VERTEX_}}return geometryArray}}();IOWA.WebglGlobe.generateIndexArray=function(divisions){"use strict";divisions=Math.max(1,divisions);var indexArray=new Uint16Array(20*divisions*divisions*3);var indexCursor=0;var vertsPerGroup=(2*divisions+3)*divisions+1;var vertsPerRow=divisions+1;for(var i=0;i<5;i++){var groupStart=vertsPerGroup*i;for(var y=0;y<divisions*2;y++){for(var x=0;x<divisions;x++){var y1=y+1;var x1=x+1;indexArray[indexCursor++]=groupStart+y*vertsPerRow+x;indexArray[indexCursor++]=groupStart+y1*vertsPerRow+x;indexArray[indexCursor++]=groupStart+y*vertsPerRow+x1;indexArray[indexCursor++]=groupStart+y*vertsPerRow+x1;indexArray[indexCursor++]=groupStart+y1*vertsPerRow+x;indexArray[indexCursor++]=groupStart+y1*vertsPerRow+x1}}}return indexArray};IOWA.WebglGlobe.generateSpriteGeometry=function(){"use strict";var QUAD_GEOMETRY_=[-1,1,0,1,1,1,0,1,-1,-1,0,1,1,-1,0,1];var SPRITE_SCALE_CORRECTION_=1/.75;return function generateSpriteGeometry(locations,spriteSize){var verts=new ArrayBuffer(locations.length*4*7*4);var vertsFloat=new Float32Array(verts);var vertsInt=new Int32Array(verts);var transform=new IOWA.WebglGlobe.Matrix4x4;var geomCursor=0;for(var i=0;i<locations.length;i++){var loc=locations[i];transform.identity().rotateY(loc.lng*Math.PI/180).rotateX(-loc.lat*Math.PI/180).translate(0,0,1).scaleUniform(spriteSize*SPRITE_SCALE_CORRECTION_);for(var j=0;j<QUAD_GEOMETRY_.length/4;j++){transform.transformOffsetVec4(vertsFloat,geomCursor,QUAD_GEOMETRY_,j*4);geomCursor+=4;vertsFloat[geomCursor++]=QUAD_GEOMETRY_[j*4];vertsFloat[geomCursor++]=QUAD_GEOMETRY_[j*4+1];vertsInt[geomCursor++]=i+1}}return vertsFloat}}();IOWA.WebglGlobe.generateSpriteIndexArray=function(spriteCount){"use strict";var indexArray=new Uint16Array(spriteCount*6);var indexCursor=0;for(var i=0;i<spriteCount;i++){indexArray[indexCursor++]=i*4;indexArray[indexCursor++]=i*4+2;indexArray[indexCursor++]=i*4+1;indexArray[indexCursor++]=i*4+1;indexArray[indexCursor++]=i*4+2;indexArray[indexCursor++]=i*4+3}return indexArray};IOWA.WebglGlobe.getSolarPosition=function(){function solarMeanAnomaly(t){return 6.24006+t*(628.3019552-26825711e-13*t)}function sunEqOfCenter(t){var m=solarMeanAnomaly(t);return Math.sin(m)*(.03341611+t*(-840725e-10-t*2.443461e-7))+Math.sin(2*m)*(.0003489437-t*17627825e-13)+Math.sin(3*m)*50440015e-13}function solarTrueAnomaly(t){return solarMeanAnomaly(t)+sunEqOfCenter(t)}function solarMeanLongitude(t){return 4.8950631108+t*(628.3319667+t*(5291887161e-15+t*(3.49548227e-10+t*(-1.1407381e-10-t*8.72664626e-14))))}function solarTrueLongitude(t){return solarMeanLongitude(t)+sunEqOfCenter(t)}function earthOrbitEccentricty(t){return.016708634-t*(42037e-9+t*1.267e-7)}function solarDistance(t){var e=earthOrbitEccentricty(t);var radius=1.000001018*(1-e*e)/(1+e*Math.cos(solarTrueAnomaly(t)));return radius}function solarApparentLongitude(t){var aberration=-9933735e-11/solarDistance(t);var nutation=-83388e-9*Math.sin(2.1824386-33.75704594*t);return solarTrueLongitude(t)+aberration+nutation}function obliquity(t){var meanObliquity=.409093+t*(-226966e-9+t*(-2.8604e-9+t*8.789672e-9));var nutation=446029e-10*Math.cos(2.1824386-33.75704594*t)+276344e-11*Math.cos(9.7901277+1256.66393*t);return meanObliquity+nutation}function solarDeclination(t){return Math.asin(Math.sin(obliquity(t))*Math.sin(solarApparentLongitude(t)))}function equationOfTime(t){var y=Math.tan(obliquity(t)/2);y*=y;var l0=solarMeanLongitude(t);var e=earthOrbitEccentricty(t);var m=solarMeanAnomaly(t);return y*Math.sin(2*l0)-2*e*Math.sin(m)+4*e*y*Math.sin(m)*Math.cos(2*l0)-y*y*.5*Math.sin(4*l0)-5/4*e*e*Math.sin(2*m)}function getJulianCentury(time){var year=time.getUTCFullYear();var month=time.getUTCMonth()+1;var day=time.getUTCDate()+(((time.getUTCMilliseconds()/1e3+time.getUTCSeconds())/60+time.getUTCMinutes())/60+time.getUTCHours())/24;if(month<3){year-=1;month+=12}var century=Math.floor(year/100);var julianDay=Math.floor(365.25*(year+4716))+Math.floor(30.6001*(month+1))+day+2-century+Math.floor(century/4)-1524.5;return(julianDay-2451545)/36525}return function getSolarPosition(time,opt_output){var t=getJulianCentury(time);var msSinceMidnight=time%864e5;var meanSolarHourAngle=(msSinceMidnight/432e5+1)*Math.PI;var greenwichHourAngle=meanSolarHourAngle+equationOfTime(t);var declination=solarDeclination(t);var output=opt_output||[];output[0]=-Math.sin(greenwichHourAngle)*Math.cos(declination);output[1]=Math.sin(declination);output[2]=Math.cos(greenwichHourAngle)*Math.cos(declination);return output}}();IOWA.WebglGlobe.KdNode;IOWA.WebglGlobe.KdTree=function(points){var xsorted=[];var ysorted=[];var zsorted=[];for(var i=0;i<points.length;i++){var lat=points[i].lat*(Math.PI/180);var lng=points[i].lng*(Math.PI/180);var cosLat=Math.cos(lat);var x=Math.sin(lng)*cosLat;var y=Math.sin(lat);var z=Math.cos(lng)*cosLat;var kdPoint={x:x,y:y,z:z,index:i,left:null,right:null};xsorted[i]=kdPoint;ysorted[i]=kdPoint;zsorted[i]=kdPoint}xsorted.sort(IOWA.WebglGlobe.KdTree.compareX_);ysorted.sort(IOWA.WebglGlobe.KdTree.compareY_);zsorted.sort(IOWA.WebglGlobe.KdTree.compareZ_);var root=IOWA.WebglGlobe.KdTree.build_(xsorted,ysorted,zsorted,0);this.store_=IOWA.WebglGlobe.KdTree.buildFlatStore_(root,0,new Float64Array(points.length*4));var treeHeight=IOWA.WebglGlobe.KdTree.intLogBase2_(points.length);this.indexStack_=new Int32Array(treeHeight+1);this.distanceStack_=new Float64Array(treeHeight+1)};IOWA.WebglGlobe.KdTree.compareX_=function(a,b){if(a.x<b.x){return-1}if(a.x>b.x){return 1}if(a.y<b.y){return-1}if(a.y>b.y){return 1}if(a.z<b.z){return-1}if(a.z>b.z){return 1}if(a.index<b.index){return-1}if(a.index>b.index){return 1}return 0};IOWA.WebglGlobe.KdTree.lessThanX_=function(a,b){return a.x<b.x||a.x===b.x&&(a.y<b.y||a.y===b.y&&(a.z<b.z||a.z===b.z&&a.index<b.index))};IOWA.WebglGlobe.KdTree.compareY_=function(a,b){if(a.y<b.y){return-1}if(a.y>b.y){return 1}if(a.z<b.z){return-1}if(a.z>b.z){return 1}if(a.x<b.x){return-1}if(a.x>b.x){return 1}if(a.index<b.index){return-1}if(a.index>b.index){return 1}return 0};IOWA.WebglGlobe.KdTree.lessThanY_=function(a,b){return a.y<b.y||a.y===b.y&&(a.z<b.z||a.z===b.z&&(a.x<b.x||a.x===b.x&&a.index<b.index))};IOWA.WebglGlobe.KdTree.compareZ_=function(a,b){if(a.z<b.z){return-1}if(a.z>b.z){return 1}if(a.x<b.x){return-1}if(a.x>b.x){return 1}if(a.y<b.y){return-1}if(a.y>b.y){return 1}if(a.index<b.index){return-1}if(a.index>b.index){return 1}return 0};IOWA.WebglGlobe.KdTree.lessThanZ_=function(a,b){return a.z<b.z||a.z===b.z&&(a.x<b.x||a.x===b.x&&(a.y<b.y||a.y===b.y&&a.index<b.index))};IOWA.WebglGlobe.KdTree.intLogBase2_=function(v){v=v|0;var r=0;if(v&4294901760){v>>=16;r|=16}if(v&65280){v>>=8;r|=8}if(v&240){v>>=4;r|=4}if(v&12){v>>=2;r|=2}if(v&2){r|=1}return r};IOWA.WebglGlobe.KdTree.arraySplit_=function(length){var treeHeight=IOWA.WebglGlobe.KdTree.intLogBase2_(length);var firstBit=1<<treeHeight;var secondBit=1<<treeHeight-1;if(length&secondBit){return firstBit-1}return length^firstBit|secondBit};IOWA.WebglGlobe.KdTree.build_=function(sorted0,sorted1,sorted2,depth){if(sorted0.length===1){return sorted0[0]}else if(sorted0.length===0){return null}var splitIndex=IOWA.WebglGlobe.KdTree.arraySplit_(sorted0.length);var splitNode=sorted0[splitIndex];var point,lessThan;var left0=[];var right0=[];for(var i=0;i<splitIndex;i++){left0[i]=sorted0[i]}i++;for(;i<sorted0.length;i++){right0.push(sorted0[i])}var dimension=depth%3;var left1=[];var right1=[];for(i=0;i<sorted1.length;i++){point=sorted1[i];if(point===splitNode){continue}if(dimension===0){lessThan=IOWA.WebglGlobe.KdTree.lessThanX_(point,splitNode)}else if(dimension===1){lessThan=IOWA.WebglGlobe.KdTree.lessThanY_(point,splitNode)}else{lessThan=IOWA.WebglGlobe.KdTree.lessThanZ_(point,splitNode)}if(lessThan){left1.push(point)}else{right1.push(point)}}var left2=[];var right2=[];for(i=0;i<sorted2.length;i++){point=sorted2[i];if(point===splitNode){continue}if(dimension===0){lessThan=IOWA.WebglGlobe.KdTree.lessThanX_(point,splitNode)}else if(dimension===1){lessThan=IOWA.WebglGlobe.KdTree.lessThanY_(point,splitNode)}else{lessThan=IOWA.WebglGlobe.KdTree.lessThanZ_(point,splitNode)}if(lessThan){left2.push(point)}else{right2.push(point)}}splitNode.left=IOWA.WebglGlobe.KdTree.build_(left1,left2,left0,depth+1);splitNode.right=IOWA.WebglGlobe.KdTree.build_(right1,right2,right0,depth+1);return splitNode};IOWA.WebglGlobe.KdTree.buildFlatStore_=function(current,currentIndex,store){store[currentIndex]=current.index;store[currentIndex+1]=current.x;store[currentIndex+2]=current.y;store[currentIndex+3]=current.z;currentIndex/=4;if(current.left){IOWA.WebglGlobe.KdTree.buildFlatStore_(current.left,(2*currentIndex+1)*4,store);if(current.right){IOWA.WebglGlobe.KdTree.buildFlatStore_(current.right,(2*currentIndex+2)*4,store)}}return store};IOWA.WebglGlobe.KdTree.prototype.nearest_=function(targetX,targetY,targetZ,maxDistance){var candidateIndex=-1;var candidateSqDistance=maxDistance*maxDistance;var treeStore=this.store_;var indexStack=this.indexStack_;var sqDistanceStack=this.distanceStack_;var stackPointer=0;var current=0;var depth=0;do{if(current>=treeStore.length){depth=stackPointer;stackPointer--;var testSqDistance=sqDistanceStack[stackPointer];if(testSqDistance<=candidateSqDistance&&indexStack[stackPointer]<treeStore.length){current=indexStack[stackPointer]}else{continue}}var xDiff=targetX-treeStore[current+1];var yDiff=targetY-treeStore[current+2];var zDiff=targetZ-treeStore[current+3];var sqDistance=xDiff*xDiff+yDiff*yDiff+zDiff*zDiff;if(sqDistance<candidateSqDistance){candidateSqDistance=sqDistance;candidateIndex=current}var baseIndex=current<<1;if(baseIndex+4<treeStore.length){var dimension=depth%3|0;var testDistance;if(dimension===0){testDistance=xDiff}else if(dimension===1){testDistance=yDiff}else{testDistance=zDiff}var firstOffset=testDistance<0?4:8;var firstIndex=baseIndex+firstOffset;var secondIndex=baseIndex+(firstOffset^12);indexStack[stackPointer]=secondIndex;sqDistanceStack[stackPointer]=testDistance*testDistance;stackPointer++;current=firstIndex;depth++}else{current=baseIndex+4}}while(stackPointer>0);return candidateIndex<0?candidateIndex:treeStore[candidateIndex]};IOWA.WebglGlobe.KdTree.prototype.neighborhood_=function(targetX,targetY,targetZ,targetDistance,opt_sqDistancesArray){var neighbors=[];var targetSqDistance=targetDistance*targetDistance;var treeStore=this.store_;var indexStack=this.indexStack_;var sqDistanceStack=this.distanceStack_;var stackPointer=0;var current=0;var depth=0;var storeDistances=opt_sqDistancesArray!=null;do{if(current>=treeStore.length){depth=stackPointer;stackPointer--;var testSqDistance=sqDistanceStack[stackPointer];if(testSqDistance<=targetSqDistance&&indexStack[stackPointer]<treeStore.length){current=indexStack[stackPointer]}else{continue}}var xDiff=targetX-treeStore[current+1];var yDiff=targetY-treeStore[current+2];var zDiff=targetZ-treeStore[current+3];var sqDistance=xDiff*xDiff+yDiff*yDiff+zDiff*zDiff;if(sqDistance<targetSqDistance){if(storeDistances){opt_sqDistancesArray[neighbors.length]=sqDistance}neighbors.push(current)}var baseIndex=current<<1;if(baseIndex+4<treeStore.length){var dimension=depth%3|0;var testDistance;if(dimension===0){testDistance=xDiff}else if(dimension===1){testDistance=yDiff}else{testDistance=zDiff}var firstOffset=testDistance<0?4:8;var firstIndex=baseIndex+firstOffset;var secondIndex=baseIndex+(firstOffset^12);indexStack[stackPointer]=secondIndex;sqDistanceStack[stackPointer]=testDistance*testDistance;stackPointer++;current=firstIndex;depth++}else{current=baseIndex+4}}while(stackPointer>0);return neighbors};IOWA.WebglGlobe.KdTree.prototype.nearestNeighbor=function(x,y,z,opt_maxDistance){var distance=opt_maxDistance==null?Number.MAX_VALUE:opt_maxDistance;var result=this.nearest_(x,y,z,distance);return result};IOWA.WebglGlobe.KdTree.prototype.nearestNeighborByLatLng=function(lat,lng,opt_maxDistance){var radLat=lat*(Math.PI/180);var radLng=lng*(Math.PI/180);var cosLat=Math.cos(radLat);var x=Math.sin(radLng)*cosLat;var y=Math.sin(radLat);var z=Math.cos(radLng)*cosLat;return this.nearestNeighbor(x,y,z,opt_maxDistance)};IOWA.WebglGlobe.KdTree.prototype.nearestNeighborsByLatLng=function(lat,lng,maxDistance){var radLat=lat*(Math.PI/180);var radLng=lng*(Math.PI/180);var cosLat=Math.cos(radLat);var x=Math.sin(radLng)*cosLat;var y=Math.sin(radLat);var z=Math.cos(radLng)*cosLat;var sqDistancesArray=[];var neighbors=this.neighborhood_(x,y,z,maxDistance,sqDistancesArray);neighbors.sort(function(a,b){return sqDistancesArray[a]-sqDistancesArray[b]});for(var i=0;i<neighbors.length;i++){neighbors[i]=this.store_[neighbors[i]]}return neighbors};Polymer("core-selection",{multi:false,ready:function(){this.clear()},clear:function(){this.selection=[]},getSelection:function(){return this.multi?this.selection:this.selection[0]},isSelected:function(item){return this.selection.indexOf(item)>=0},setItemSelected:function(item,isSelected){if(item!==undefined&&item!==null){if(isSelected){this.selection.push(item)}else{var i=this.selection.indexOf(item);if(i>=0){this.selection.splice(i,1)}}this.fire("core-select",{isSelected:isSelected,item:item})}},select:function(item){if(this.multi){this.toggle(item)}else if(this.getSelection()!==item){this.setItemSelected(this.getSelection(),false);this.setItemSelected(item,true)}},toggle:function(item){this.setItemSelected(item,!this.isSelected(item))}});Polymer("core-selector",{selected:null,multi:false,valueattr:"name",selectedClass:"core-selected",selectedProperty:"",selectedAttribute:"active",selectedItem:null,selectedModel:null,selectedIndex:-1,excludedLocalNames:"",target:null,itemsSelector:"",activateEvent:"tap",notap:false,defaultExcludedLocalNames:"template",observe:{"selected multi":"selectedChanged"},ready:function(){this.activateListener=this.activateHandler.bind(this);this.itemFilter=this.filterItem.bind(this);this.excludedLocalNamesChanged();this.observer=new MutationObserver(this.updateSelected.bind(this));if(!this.target){this.target=this}},get items(){if(!this.target){return[]}var nodes=this.target!==this?this.itemsSelector?this.target.querySelectorAll(this.itemsSelector):this.target.children:this.$.items.getDistributedNodes();return Array.prototype.filter.call(nodes,this.itemFilter)},filterItem:function(node){return!this._excludedNames[node.localName]},excludedLocalNamesChanged:function(){this._excludedNames={};var s=this.defaultExcludedLocalNames;if(this.excludedLocalNames){s+=" "+this.excludedLocalNames}s.split(/\s+/g).forEach(function(n){this._excludedNames[n]=1},this)},targetChanged:function(old){if(old){this.removeListener(old);this.observer.disconnect();this.clearSelection()}if(this.target){this.addListener(this.target);this.observer.observe(this.target,{childList:true});this.updateSelected()}},addListener:function(node){Polymer.addEventListener(node,this.activateEvent,this.activateListener)},removeListener:function(node){Polymer.removeEventListener(node,this.activateEvent,this.activateListener)},get selection(){return this.$.selection.getSelection()},selectedChanged:function(){if(arguments.length===1){this.processSplices(arguments[0])}else{this.updateSelected()}},updateSelected:function(){this.validateSelected();if(this.multi){this.clearSelection(this.selected);this.selected&&this.selected.forEach(function(s){this.setValueSelected(s,true)},this)}else{this.valueToSelection(this.selected)}},validateSelected:function(){if(this.multi&&!Array.isArray(this.selected)&&this.selected!=null){this.selected=[this.selected]}else if(!this.multi&&Array.isArray(this.selected)){var s=this.selected[0];this.clearSelection([s]);this.selected=s}},processSplices:function(splices){for(var i=0,splice;splice=splices[i];i++){for(var j=0;j<splice.removed.length;j++){this.setValueSelected(splice.removed[j],false)}for(var j=0;j<splice.addedCount;j++){this.setValueSelected(this.selected[splice.index+j],true)}}},clearSelection:function(excludes){this.$.selection.selection.slice().forEach(function(item){var v=this.valueForNode(item)||this.items.indexOf(item);if(!excludes||excludes.indexOf(v)<0){this.$.selection.setItemSelected(item,false)}},this)},valueToSelection:function(value){var item=this.valueToItem(value);this.$.selection.select(item)},setValueSelected:function(value,isSelected){var item=this.valueToItem(value);if(isSelected^this.$.selection.isSelected(item)){this.$.selection.setItemSelected(item,isSelected)}},updateSelectedItem:function(){this.selectedItem=this.selection},selectedItemChanged:function(){if(this.selectedItem){var t=this.selectedItem.templateInstance;this.selectedModel=t?t.model:undefined}else{this.selectedModel=null}this.selectedIndex=this.selectedItem?parseInt(this.valueToIndex(this.selected)):-1},valueToItem:function(value){return value===null||value===undefined?null:this.items[this.valueToIndex(value)]},valueToIndex:function(value){for(var i=0,items=this.items,c;c=items[i];i++){if(this.valueForNode(c)==value){return i}}return value},valueForNode:function(node){return node[this.valueattr]||node.getAttribute(this.valueattr)},selectionSelect:function(e,detail){this.updateSelectedItem();if(detail.item){this.applySelection(detail.item,detail.isSelected)}},applySelection:function(item,isSelected){if(this.selectedClass){item.classList.toggle(this.selectedClass,isSelected)}if(this.selectedProperty){item[this.selectedProperty]=isSelected}if(this.selectedAttribute&&item.setAttribute){if(isSelected){item.setAttribute(this.selectedAttribute,"")}else{item.removeAttribute(this.selectedAttribute)}}},activateHandler:function(e){if(!this.notap){var i=this.findDistributedTarget(e.target,this.items);if(i>=0){var item=this.items[i];var s=this.valueForNode(item)||i;if(this.multi){if(this.selected){this.addRemoveSelected(s)}else{this.selected=[s]}}else{this.selected=s}this.asyncFire("core-activate",{item:item})}}},addRemoveSelected:function(value){var i=this.selected.indexOf(value);if(i>=0){this.selected.splice(i,1)}else{this.selected.push(value)}},findDistributedTarget:function(target,nodes){while(target&&target!=this){var i=Array.prototype.indexOf.call(nodes,target);if(i>=0){return i}target=target.parentNode}},selectIndex:function(index){var item=this.items[index];if(item){this.selected=this.valueForNode(item)||index;return item}},selectPrevious:function(wrapped){var i=wrapped&&!this.selectedIndex?this.items.length-1:this.selectedIndex-1;return this.selectIndex(i)},selectNext:function(wrapped){var i=wrapped&&this.selectedIndex>=this.items.length-1?0:this.selectedIndex+1;return this.selectIndex(i)}});Polymer("core-pages");Polymer("core-media-query",{queryMatches:false,query:"",ready:function(){this._mqHandler=this.queryHandler.bind(this);this._mq=null},queryChanged:function(){if(this._mq){this._mq.removeListener(this._mqHandler)}var query=this.query;if(query[0]!=="("){query="("+this.query+")"}this._mq=window.matchMedia(query);this._mq.addListener(this._mqHandler);this.queryHandler(this._mq)},queryHandler:function(mq){this.queryMatches=mq.matches;this.asyncFire("core-media-change",mq)}});Polymer("core-drawer-panel",{publish:{drawerWidth:"256px",responsiveWidth:"640px",selected:{value:null,reflect:true},defaultSelected:"main",narrow:{value:false,reflect:true},rightDrawer:false,disableSwipe:false,forceNarrow:false,disableEdgeSwipe:false},eventDelegates:{trackstart:"trackStart",trackx:"trackx",trackend:"trackEnd",down:"downHandler",up:"upHandler",tap:"tapHandler"},transition:false,edgeSwipeSensitivity:15,peeking:false,dragging:false,hasTransform:true,hasWillChange:true,toggleAttribute:"core-drawer-toggle",created:function(){this.hasTransform="transform"in this.style;this.hasWillChange="willChange"in this.style},domReady:function(){this.async(function(){this.transition=true})},togglePanel:function(){this.selected=this.isMainSelected()?"drawer":"main"},openDrawer:function(){this.selected="drawer"},closeDrawer:function(){this.selected="main"},queryMatchesChanged:function(){this.narrow=this.queryMatches||this.forceNarrow;if(this.narrow){this.selected=this.defaultSelected}this.setAttribute("touch-action",this.swipeAllowed()?"pan-y":"");this.fire("core-responsive-change",{narrow:this.narrow})},forceNarrowChanged:function(){this.queryMatchesChanged()},swipeAllowed:function(){return this.narrow&&!this.disableSwipe},isMainSelected:function(){return this.selected==="main"},startEdgePeek:function(){this.width=this.$.drawer.offsetWidth;this.moveDrawer(this.translateXForDeltaX(this.rightDrawer?-this.edgeSwipeSensitivity:this.edgeSwipeSensitivity));this.peeking=true},stopEdgePeak:function(){if(this.peeking){this.peeking=false;this.moveDrawer(null)}},downHandler:function(e){if(!this.dragging&&this.isMainSelected()&&this.isEdgeTouch(e)){this.startEdgePeek()}},upHandler:function(e){this.stopEdgePeak()},tapHandler:function(e){if(e.target&&this.toggleAttribute&&e.target.hasAttribute(this.toggleAttribute)){this.togglePanel()}},isEdgeTouch:function(e){return!this.disableEdgeSwipe&&this.swipeAllowed()&&(this.rightDrawer?e.pageX>=this.offsetWidth-this.edgeSwipeSensitivity:e.pageX<=this.edgeSwipeSensitivity)},trackStart:function(e){if(this.swipeAllowed()){this.dragging=true;if(this.isMainSelected()){this.dragging=this.peeking||this.isEdgeTouch(e)}if(this.dragging){this.width=this.$.drawer.offsetWidth;this.transition=false;e.preventTap()}}},translateXForDeltaX:function(deltaX){var isMain=this.isMainSelected();if(this.rightDrawer){return Math.max(0,isMain?this.width+deltaX:deltaX)}else{return Math.min(0,isMain?deltaX-this.width:deltaX)}},trackx:function(e){if(this.dragging){if(this.peeking){if(Math.abs(e.dx)<=this.edgeSwipeSensitivity){return}this.peeking=false}this.moveDrawer(this.translateXForDeltaX(e.dx))}},trackEnd:function(e){if(this.dragging){this.dragging=false;this.transition=true;this.moveDrawer(null);if(this.rightDrawer){this.selected=e.xDirection>0?"main":"drawer"}else{this.selected=e.xDirection>0?"drawer":"main"}}},transformForTranslateX:function(translateX){if(translateX===null){return""}return this.hasWillChange?"translateX("+translateX+"px)":"translate3d("+translateX+"px, 0, 0)"},moveDrawer:function(translateX){var s=this.$.drawer.style;if(this.hasTransform){s.transform=this.transformForTranslateX(translateX)}else{s.webkitTransform=this.transformForTranslateX(translateX)}}});(function(){Polymer("core-toolbar",{justify:"",middleJustify:"",bottomJustify:"",justifyChanged:function(old){this.updateBarJustify(this.$.topBar,this.justify,old)},middleJustifyChanged:function(old){this.updateBarJustify(this.$.middleBar,this.middleJustify,old)},bottomJustifyChanged:function(old){this.updateBarJustify(this.$.bottomBar,this.bottomJustify,old)},updateBarJustify:function(bar,justify,old){if(old){bar.removeAttribute(this.toLayoutAttrName(old))}if(justify){bar.setAttribute(this.toLayoutAttrName(justify),"")}},toLayoutAttrName:function(value){return value==="between"?"justified":value+"-justified"}})})();(function(){var KEY_IDENTIFIER={"U+0009":"tab","U+001B":"esc","U+0020":"space","U+002A":"*","U+0030":"0","U+0031":"1","U+0032":"2","U+0033":"3","U+0034":"4","U+0035":"5","U+0036":"6","U+0037":"7","U+0038":"8","U+0039":"9","U+0041":"a","U+0042":"b","U+0043":"c","U+0044":"d","U+0045":"e","U+0046":"f","U+0047":"g","U+0048":"h","U+0049":"i","U+004A":"j","U+004B":"k","U+004C":"l","U+004D":"m","U+004E":"n","U+004F":"o","U+0050":"p","U+0051":"q","U+0052":"r","U+0053":"s","U+0054":"t","U+0055":"u","U+0056":"v","U+0057":"w","U+0058":"x","U+0059":"y","U+005A":"z","U+007F":"del"};var KEY_CODE={9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"};var KEY_CHAR=/[a-z0-9*]/;function transformKey(key){var validKey="";if(key){var lKey=key.toLowerCase();if(lKey.length==1){if(KEY_CHAR.test(lKey)){validKey=lKey}}else if(lKey=="multiply"){validKey="*"}else{validKey=lKey}}return validKey}var IDENT_CHAR=/U\+/;function transformKeyIdentifier(keyIdent){var validKey="";if(keyIdent){if(IDENT_CHAR.test(keyIdent)){validKey=KEY_IDENTIFIER[keyIdent]}else{validKey=keyIdent.toLowerCase()}}return validKey}function transformKeyCode(keyCode){var validKey="";if(Number(keyCode)){if(keyCode>=65&&keyCode<=90){validKey=String.fromCharCode(32+keyCode)}else if(keyCode>=112&&keyCode<=123){validKey="f"+(keyCode-112)}else if(keyCode>=48&&keyCode<=57){validKey=String(48-keyCode)}else if(keyCode>=96&&keyCode<=105){validKey=String(96-keyCode)}else{validKey=KEY_CODE[keyCode]}}return validKey}function keyboardEventToKey(ev){var normalizedKey=transformKey(ev.key)||transformKeyIdentifier(ev.keyIdentifier)||transformKeyCode(ev.keyCode)||transformKey(ev.detail.key)||"";return{shift:ev.shiftKey,ctrl:ev.ctrlKey,meta:ev.metaKey,alt:ev.altKey,key:normalizedKey}}function stringToKey(keyCombo){var keys=keyCombo.split("+");var keyObj=Object.create(null);keys.forEach(function(key){if(key=="shift"){keyObj.shift=true}else if(key=="ctrl"){keyObj.ctrl=true}else if(key=="alt"){keyObj.alt=true}else{keyObj.key=key}});return keyObj}function keyMatches(a,b){return Boolean(a.alt)==Boolean(b.alt)&&Boolean(a.ctrl)==Boolean(b.ctrl)&&Boolean(a.shift)==Boolean(b.shift)&&a.key===b.key}function processKeys(ev){var current=keyboardEventToKey(ev);for(var i=0,dk;i<this._desiredKeys.length;i++){dk=this._desiredKeys[i];if(keyMatches(dk,current)){ev.preventDefault();ev.stopPropagation();this.fire("keys-pressed",current,this,false);break}}}function listen(node,handler){if(node&&node.addEventListener){node.addEventListener("keydown",handler)}}function unlisten(node,handler){if(node&&node.removeEventListener){node.removeEventListener("keydown",handler)}}Polymer("core-a11y-keys",{created:function(){this._keyHandler=processKeys.bind(this)},attached:function(){if(!this.target){this.target=this.parentNode}listen(this.target,this._keyHandler)},detached:function(){unlisten(this.target,this._keyHandler)},publish:{keys:"",target:null},keysChanged:function(){var normalized=this.keys.replace("*","* shift+*");this._desiredKeys=normalized.toLowerCase().split(" ").map(stringToKey)},targetChanged:function(oldTarget){unlisten(oldTarget,this._keyHandler);listen(this.target,this._keyHandler)}})})();Polymer("core-menu");(function(){var SKIP_ID="meta";var metaData={},metaArray={};Polymer("core-meta",{type:"default",alwaysPrepare:true,ready:function(){this.register(this.id)},get metaArray(){var t=this.type;if(!metaArray[t]){metaArray[t]=[]}return metaArray[t]},get metaData(){var t=this.type;if(!metaData[t]){metaData[t]={}}return metaData[t]},register:function(id,old){if(id&&id!==SKIP_ID){this.unregister(this,old);this.metaData[id]=this;this.metaArray.push(this)}},unregister:function(meta,id){delete this.metaData[id||meta.id];var i=this.metaArray.indexOf(meta);if(i>=0){this.metaArray.splice(i,1)}},get list(){return this.metaArray},byId:function(id){return this.metaData[id]}})})();Polymer("core-iconset",{src:"",width:0,icons:"",iconSize:24,offsetX:0,offsetY:0,type:"iconset",created:function(){this.iconMap={};this.iconNames=[];this.themes={}},ready:function(){if(this.src&&this.ownerDocument!==document){this.src=this.resolvePath(this.src,this.ownerDocument.baseURI)}this.super();this.updateThemes()},iconsChanged:function(){var ox=this.offsetX;var oy=this.offsetY;this.icons&&this.icons.split(/\s+/g).forEach(function(name,i){this.iconNames.push(name);this.iconMap[name]={offsetX:ox,offsetY:oy};if(ox+this.iconSize<this.width){ox+=this.iconSize}else{ox=this.offsetX;oy+=this.iconSize}},this)},updateThemes:function(){var ts=this.querySelectorAll("property[theme]");ts&&ts.array().forEach(function(t){this.themes[t.getAttribute("theme")]={offsetX:parseInt(t.getAttribute("offsetX"))||0,offsetY:parseInt(t.getAttribute("offsetY"))||0}},this)},getOffset:function(icon,theme){var i=this.iconMap[icon];if(!i){var n=this.iconNames[Number(icon)];i=this.iconMap[n]}var t=this.themes[theme];if(i&&t){return{offsetX:i.offsetX+t.offsetX,offsetY:i.offsetY+t.offsetY}}return i},applyIcon:function(element,icon,scale){var offset=this.getOffset(icon);scale=scale||1;if(element&&offset){var icon=element._icon||document.createElement("div");var style=icon.style;style.backgroundImage="url("+this.src+")";style.backgroundPosition=-offset.offsetX*scale+"px"+" "+(-offset.offsetY*scale+"px");style.backgroundSize=scale===1?"auto":this.width*scale+"px";if(icon.parentNode!==element){element.appendChild(icon)}return icon}}});(function(){var meta;Polymer("core-icon",{src:"",icon:"",alt:null,observe:{icon:"updateIcon",alt:"updateAlt"},defaultIconset:"icons",ready:function(){if(!meta){meta=document.createElement("core-iconset")}if(this.hasAttribute("aria-label")){if(!this.hasAttribute("role")){this.setAttribute("role","img")}return}this.updateAlt()},srcChanged:function(){var icon=this._icon||document.createElement("div");icon.textContent="";icon.setAttribute("fit","");icon.style.backgroundImage="url("+this.src+")";icon.style.backgroundPosition="center";icon.style.backgroundSize="100%";if(!icon.parentNode){this.appendChild(icon)}this._icon=icon},getIconset:function(name){return meta.byId(name||this.defaultIconset)},updateIcon:function(oldVal,newVal){if(!this.icon){this.updateAlt();return}var parts=String(this.icon).split(":");var icon=parts.pop();if(icon){var set=this.getIconset(parts.pop());if(set){this._icon=set.applyIcon(this,icon);if(this._icon){this._icon.setAttribute("fit","")}}}if(oldVal){if(oldVal.split(":").pop()==this.getAttribute("aria-label")){this.updateAlt()}}},updateAlt:function(){if(this.getAttribute("aria-hidden")){return}if(this.alt===""){this.setAttribute("aria-hidden","true");if(this.hasAttribute("role")){this.removeAttribute("role")}if(this.hasAttribute("aria-label")){this.removeAttribute("aria-label")}}else{this.setAttribute("aria-label",this.alt||this.icon.split(":").pop());if(!this.hasAttribute("role")){this.setAttribute("role","img")}if(this.hasAttribute("aria-hidden")){this.removeAttribute("aria-hidden")}}}})})();Polymer("core-iconset-svg",{iconSize:24,type:"iconset",created:function(){this._icons={}},ready:function(){this.super();this.updateIcons()
},iconById:function(id){return this._icons[id]||(this._icons[id]=this.querySelector('[id="'+id+'"]'))},cloneIcon:function(id){var icon=this.iconById(id);if(icon){var content=icon.cloneNode(true);content.removeAttribute("id");var svg=document.createElementNS("http://www.w3.org/2000/svg","svg");svg.setAttribute("viewBox","0 0 "+this.iconSize+" "+this.iconSize);svg.style.pointerEvents="none";svg.appendChild(content);return svg}},get iconNames(){if(!this._iconNames){this._iconNames=this.findIconNames()}return this._iconNames},findIconNames:function(){var icons=this.querySelectorAll("[id]").array();if(icons.length){return icons.map(function(n){return n.id})}},applyIcon:function(element,icon){var root=element;var old=root.querySelector("svg");if(old){old.remove()}var svg=this.cloneIcon(icon);if(!svg){return}svg.setAttribute("height","100%");svg.setAttribute("width","100%");svg.setAttribute("preserveAspectRatio","xMidYMid meet");svg.style.display="block";root.insertBefore(svg,root.firstElementChild);return svg},updateIcons:function(selector,method){selector=selector||"[icon]";method=method||"updateIcon";var deep=window.ShadowDOMPolyfill?"":"html /deep/ ";var i$=document.querySelectorAll(deep+selector);for(var i=0,e;e=i$[i];i++){if(e[method]){e[method].call(e)}}}});(function(){var waveMaxRadius=150;function waveRadiusFn(touchDownMs,touchUpMs,anim){var touchDown=touchDownMs/1e3;var touchUp=touchUpMs/1e3;var totalElapsed=touchDown+touchUp;var ww=anim.width,hh=anim.height;var waveRadius=Math.min(Math.sqrt(ww*ww+hh*hh),waveMaxRadius)*1.1+5;var duration=1.1-.2*(waveRadius/waveMaxRadius);var tt=totalElapsed/duration;var size=waveRadius*(1-Math.pow(80,-tt));return Math.abs(size)}function waveOpacityFn(td,tu,anim){var touchDown=td/1e3;var touchUp=tu/1e3;var totalElapsed=touchDown+touchUp;if(tu<=0){return anim.initialOpacity}return Math.max(0,anim.initialOpacity-touchUp*anim.opacityDecayVelocity)}function waveOuterOpacityFn(td,tu,anim){var touchDown=td/1e3;var touchUp=tu/1e3;var outerOpacity=touchDown*.3;var waveOpacity=waveOpacityFn(td,tu,anim);return Math.max(0,Math.min(outerOpacity,waveOpacity))}function waveDidFinish(wave,radius,anim){var waveOpacity=waveOpacityFn(wave.tDown,wave.tUp,anim);return waveOpacity<.01&&radius>=Math.min(wave.maxRadius,waveMaxRadius)}function waveAtMaximum(wave,radius,anim){var waveOpacity=waveOpacityFn(wave.tDown,wave.tUp,anim);return waveOpacity>=anim.initialOpacity&&radius>=Math.min(wave.maxRadius,waveMaxRadius)}function drawRipple(ctx,x,y,radius,innerAlpha,outerAlpha){if(outerAlpha!==undefined){ctx.bg.style.opacity=outerAlpha}ctx.wave.style.opacity=innerAlpha;var s=radius/(ctx.containerSize/2);var dx=x-ctx.containerWidth/2;var dy=y-ctx.containerHeight/2;ctx.wc.style.webkitTransform="translate3d("+dx+"px,"+dy+"px,0)";ctx.wc.style.transform="translate3d("+dx+"px,"+dy+"px,0)";ctx.wave.style.webkitTransform="scale("+s+","+s+")";ctx.wave.style.transform="scale3d("+s+","+s+",1)"}function createWave(elem){var elementStyle=window.getComputedStyle(elem);var fgColor=elementStyle.color;var inner=document.createElement("div");inner.style.backgroundColor=fgColor;inner.classList.add("wave");var outer=document.createElement("div");outer.classList.add("wave-container");outer.appendChild(inner);var container=elem.$.waves;container.appendChild(outer);elem.$.bg.style.backgroundColor=fgColor;var wave={bg:elem.$.bg,wc:outer,wave:inner,waveColor:fgColor,maxRadius:0,isMouseDown:false,mouseDownStart:0,mouseUpStart:0,tDown:0,tUp:0};return wave}function removeWaveFromScope(scope,wave){if(scope.waves){var pos=scope.waves.indexOf(wave);scope.waves.splice(pos,1);wave.wc.remove()}}var pow=Math.pow;var now=Date.now;if(window.performance&&performance.now){now=performance.now.bind(performance)}function cssColorWithAlpha(cssColor,alpha){var parts=cssColor.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(typeof alpha=="undefined"){alpha=1}if(!parts){return"rgba(255, 255, 255, "+alpha+")"}return"rgba("+parts[1]+", "+parts[2]+", "+parts[3]+", "+alpha+")"}function dist(p1,p2){return Math.sqrt(pow(p1.x-p2.x,2)+pow(p1.y-p2.y,2))}function distanceFromPointToFurthestCorner(point,size){var tl_d=dist(point,{x:0,y:0});var tr_d=dist(point,{x:size.w,y:0});var bl_d=dist(point,{x:0,y:size.h});var br_d=dist(point,{x:size.w,y:size.h});return Math.max(tl_d,tr_d,bl_d,br_d)}Polymer("paper-ripple",{initialOpacity:.25,opacityDecayVelocity:.8,backgroundFill:true,pixelDensity:2,eventDelegates:{down:"downAction",up:"upAction"},ready:function(){this.waves=[]},downAction:function(e){var wave=createWave(this);this.cancelled=false;wave.isMouseDown=true;wave.tDown=0;wave.tUp=0;wave.mouseUpStart=0;wave.mouseDownStart=now();var rect=this.getBoundingClientRect();var width=rect.width;var height=rect.height;var touchX=e.x-rect.left;var touchY=e.y-rect.top;wave.startPosition={x:touchX,y:touchY};if(this.classList.contains("recenteringTouch")){wave.endPosition={x:width/2,y:height/2};wave.slideDistance=dist(wave.startPosition,wave.endPosition)}wave.containerSize=Math.max(width,height);wave.containerWidth=width;wave.containerHeight=height;wave.maxRadius=distanceFromPointToFurthestCorner(wave.startPosition,{w:width,h:height});wave.wc.style.top=(wave.containerHeight-wave.containerSize)/2+"px";wave.wc.style.left=(wave.containerWidth-wave.containerSize)/2+"px";wave.wc.style.width=wave.containerSize+"px";wave.wc.style.height=wave.containerSize+"px";this.waves.push(wave);if(!this._loop){this._loop=this.animate.bind(this,{width:width,height:height});requestAnimationFrame(this._loop)}},upAction:function(){for(var i=0;i<this.waves.length;i++){var wave=this.waves[i];if(wave.isMouseDown){wave.isMouseDown=false;wave.mouseUpStart=now();wave.mouseDownStart=0;wave.tUp=0;break}}this._loop&&requestAnimationFrame(this._loop)},cancel:function(){this.cancelled=true},animate:function(ctx){var shouldRenderNextFrame=false;var deleteTheseWaves=[];var longestTouchDownDuration=0;var longestTouchUpDuration=0;var lastWaveColor=null;var anim={initialOpacity:this.initialOpacity,opacityDecayVelocity:this.opacityDecayVelocity,height:ctx.height,width:ctx.width};for(var i=0;i<this.waves.length;i++){var wave=this.waves[i];if(wave.mouseDownStart>0){wave.tDown=now()-wave.mouseDownStart}if(wave.mouseUpStart>0){wave.tUp=now()-wave.mouseUpStart}var tUp=wave.tUp;var tDown=wave.tDown;longestTouchDownDuration=Math.max(longestTouchDownDuration,tDown);longestTouchUpDuration=Math.max(longestTouchUpDuration,tUp);var radius=waveRadiusFn(tDown,tUp,anim);var waveAlpha=waveOpacityFn(tDown,tUp,anim);var waveColor=cssColorWithAlpha(wave.waveColor,waveAlpha);lastWaveColor=wave.waveColor;var x=wave.startPosition.x;var y=wave.startPosition.y;if(wave.endPosition){var translateFraction=Math.min(1,radius/wave.containerSize*2/Math.sqrt(2));x+=translateFraction*(wave.endPosition.x-wave.startPosition.x);y+=translateFraction*(wave.endPosition.y-wave.startPosition.y)}var bgFillColor=null;if(this.backgroundFill){var bgFillAlpha=waveOuterOpacityFn(tDown,tUp,anim);bgFillColor=cssColorWithAlpha(wave.waveColor,bgFillAlpha)}drawRipple(wave,x,y,radius,waveAlpha,bgFillAlpha);var maximumWave=waveAtMaximum(wave,radius,anim);var waveDissipated=waveDidFinish(wave,radius,anim);var shouldKeepWave=!waveDissipated||maximumWave;var shouldRenderWaveAgain=wave.mouseUpStart?!waveDissipated:!maximumWave;shouldRenderNextFrame=shouldRenderNextFrame||shouldRenderWaveAgain;if(!shouldKeepWave||this.cancelled){deleteTheseWaves.push(wave)}}if(shouldRenderNextFrame){requestAnimationFrame(this._loop)}for(var i=0;i<deleteTheseWaves.length;++i){var wave=deleteTheseWaves[i];removeWaveFromScope(this,wave)}if(!this.waves.length&&this._loop){this.$.bg.style.backgroundColor=null;this._loop=null;this.fire("core-transitionend")}}})})();Polymer("paper-radio-button",{publish:{checked:{value:false,reflect:true},label:"",toggles:false,disabled:{value:false,reflect:true}},eventDelegates:{tap:"tap"},tap:function(){if(this.disabled){return}var old=this.checked;this.toggle();if(this.checked!==old){this.fire("change")}},toggle:function(){this.checked=!this.toggles||!this.checked},checkedChanged:function(){this.setAttribute("aria-checked",this.checked?"true":"false");this.fire("core-change")},labelChanged:function(){this.setAttribute("aria-label",this.label)}});Polymer("paper-checkbox",{toggles:true,checkedChanged:function(){this.setAttribute("aria-checked",this.checked?"true":"false");this.fire("core-change")}});Polymer("core-input",{publish:{committedValue:"",preventInvalidInput:false},previousValidInput:"",eventDelegates:{input:"inputAction",change:"changeAction"},ready:function(){this.disabledHandler();this.placeholderHandler()},attributeChanged:function(attr,old){if(this[attr+"Handler"]){this[attr+"Handler"](old)}},disabledHandler:function(){if(this.disabled){this.setAttribute("aria-disabled","")}else{this.removeAttribute("aria-disabled")}},placeholderHandler:function(){if(this.placeholder){this.setAttribute("aria-label",this.placeholder)}else{this.removeAttribute("aria-label")}},commit:function(){this.committedValue=this.value},changeAction:function(){this.commit()},inputAction:function(e){if(this.preventInvalidInput){if(!e.target.validity.valid){e.target.value=this.previousValidInput}else{this.previousValidInput=e.target.value}}}});(function(){window.CoreStyle=window.CoreStyle||{g:{},list:{},refMap:{}};Polymer("core-style",{publish:{ref:""},g:CoreStyle.g,refMap:CoreStyle.refMap,list:CoreStyle.list,ready:function(){if(this.id){this.provide()}else{this.registerRef(this.ref);if(!window.ShadowDOMPolyfill){this.require()}}},attached:function(){if(!this.id&&window.ShadowDOMPolyfill){this.require()}},provide:function(){this.register();if(this.textContent){this._completeProvide()}else{this.async(this._completeProvide)}},register:function(){var i=this.list[this.id];if(i){if(!Array.isArray(i)){this.list[this.id]=[i]}this.list[this.id].push(this)}else{this.list[this.id]=this}},_completeProvide:function(){this.createShadowRoot();this.domObserver=new MutationObserver(this.domModified.bind(this)).observe(this.shadowRoot,{subtree:true,characterData:true,childList:true});this.provideContent()},provideContent:function(){this.ensureTemplate();this.shadowRoot.textContent="";this.shadowRoot.appendChild(this.instanceTemplate(this.template));this.cssText=this.shadowRoot.textContent},ensureTemplate:function(){if(!this.template){this.template=this.querySelector("template:not([repeat]):not([bind])");if(!this.template){this.template=document.createElement("template");var n=this.firstChild;while(n){this.template.content.appendChild(n.cloneNode(true));n=n.nextSibling}}}},domModified:function(){this.cssText=this.shadowRoot.textContent;this.notify()},notify:function(){var s$=this.refMap[this.id];if(s$){for(var i=0,s;s=s$[i];i++){s.require()}}},registerRef:function(ref){this.refMap[this.ref]=this.refMap[this.ref]||[];this.refMap[this.ref].push(this)},applyRef:function(ref){this.ref=ref;this.registerRef(this.ref);this.require()},require:function(){var cssText=this.cssTextForRef(this.ref);if(cssText){this.ensureStyleElement();if(this.styleElement._cssText===cssText){return}this.styleElement._cssText=cssText;if(window.ShadowDOMPolyfill){this.styleElement.textContent=cssText;cssText=WebComponents.ShadowCSS.shimStyle(this.styleElement,this.getScopeSelector())}this.styleElement.textContent=cssText}},cssTextForRef:function(ref){var s$=this.byId(ref);var cssText="";if(s$){if(Array.isArray(s$)){var p=[];for(var i=0,l=s$.length,s;i<l&&(s=s$[i]);i++){p.push(s.cssText)}cssText=p.join("\n\n")}else{cssText=s$.cssText}}if(s$&&!cssText){console.warn("No styles provided for ref:",ref)}return cssText},byId:function(id){return this.list[id]},ensureStyleElement:function(){if(!this.styleElement){this.styleElement=window.ShadowDOMPolyfill?this.makeShimStyle():this.makeRootStyle()}if(!this.styleElement){console.warn(this.localName,"could not setup style.")}},makeRootStyle:function(){var style=document.createElement("style");this.appendChild(style);return style},makeShimStyle:function(){var host=this.findHost(this);if(host){var name=host.localName;var style=document.querySelector("style["+name+"="+this.ref+"]");if(!style){style=document.createElement("style");style.setAttribute(name,this.ref);document.head.appendChild(style)}return style}},getScopeSelector:function(){if(!this._scopeSelector){var selector="",host=this.findHost(this);if(host){var typeExtension=host.hasAttribute("is");var name=typeExtension?host.getAttribute("is"):host.localName;selector=WebComponents.ShadowCSS.makeScopeSelector(name,typeExtension)}this._scopeSelector=selector}return this._scopeSelector},findHost:function(node){while(node.parentNode){node=node.parentNode}return node.host||wrap(document.documentElement)},cycle:function(rgb,amount){if(rgb.match("#")){var o=this.hexToRgb(rgb);if(!o){return rgb}rgb="rgb("+o.r+","+o.b+","+o.g+")"}function cycleChannel(v){return Math.abs((Number(v)-amount)%255)}return rgb.replace(/rgb\(([^,]*),([^,]*),([^,]*)\)/,function(m,a,b,c){return"rgb("+cycleChannel(a)+","+cycleChannel(b)+", "+cycleChannel(c)+")"})},hexToRgb:function(hex){var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:null}})})();(function(){var paperInput=CoreStyle.g.paperInput=CoreStyle.g.paperInput||{};paperInput.labelColor="#757575";paperInput.focusedColor="#4059a9";paperInput.invalidColor="#d34336";Polymer("paper-input-decorator",{publish:{label:"",floatingLabel:false,disabled:{value:false,reflect:true},labelVisible:null,isInvalid:false,autoValidate:false,error:"",focused:{value:false,reflect:true}},computed:{floatingLabelVisible:"floatingLabel && !_labelVisible",_labelVisible:"(labelVisible === true || labelVisible === false) ? labelVisible : _autoLabelVisible"},ready:function(){Polymer.addEventListener(this,"focus",this.focusAction.bind(this),true);Polymer.addEventListener(this,"blur",this.blurAction.bind(this),true)},attached:function(){this.input=this.querySelector("input,textarea");this.mo=new MutationObserver(function(){this.input=this.querySelector("input,textarea")}.bind(this));this.mo.observe(this,{childList:true})},detached:function(){this.mo.disconnect();this.mo=null},prepareLabelTransform:function(){var toRect=this.$.floatedLabelText.getBoundingClientRect();var fromRect=this.$.labelText.getBoundingClientRect();if(toRect.width!==0){var sy=toRect.height/fromRect.height;this.$.labelText.cachedTransform="scale3d("+toRect.width/fromRect.width+","+sy+",1) "+"translate3d(0,"+(toRect.top-fromRect.top)/sy+"px,0)"}},animateFloatingLabel:function(){if(!this.floatingLabel||this.labelAnimated){return false}if(!this.$.labelText.cachedTransform){this.prepareLabelTransform()}if(!this.$.labelText.cachedTransform){return false}this.labelAnimated=true;this.async(function(){this.transitionEndAction()},null,250);if(this._labelVisible){if(!this.$.labelText.style.webkitTransform&&!this.$.labelText.style.transform){this.$.labelText.style.webkitTransform=this.$.labelText.cachedTransform;this.$.labelText.style.transform=this.$.labelText.cachedTransform;this.$.labelText.offsetTop}this.$.labelText.style.webkitTransform="";this.$.labelText.style.transform=""}else{this.$.labelText.style.webkitTransform=this.$.labelText.cachedTransform;this.$.labelText.style.transform=this.$.labelText.cachedTransform;this.input.placeholder=""}return true},animateUnderline:function(e){if(this.focused){var rect=this.$.underline.getBoundingClientRect();var right=e.x-rect.left;this.$.focusedUnderline.style.mozTransformOrigin=right+"px";this.$.focusedUnderline.style.webkitTransformOrigin=right+"px ";this.$.focusedUnderline.style.transformOriginX=right+"px";this.underlineAnimated=true}},validate:function(){if(!this.input){return true}this.isInvalid=!this.input.validity.valid;return this.input.validity.valid},_labelVisibleChanged:function(old){if(old!==undefined){if(!this.animateFloatingLabel()){this.updateInputLabel(this.input,this.label)}}},labelVisibleChanged:function(){if(this.labelVisible==="true"){this.labelVisible=true}else if(this.labelVisible==="false"){this.labelVisible=false}},labelChanged:function(){if(this.input){this.updateInputLabel(this.input,this.label)}},isInvalidChanged:function(){this.classList.toggle("invalid",this.isInvalid)},focusedChanged:function(){this.updateLabelVisibility(this.input&&this.input.value);if(this.lastEvent){this.animateUnderline(this.lastEvent);this.lastEvent=null}this.underlineVisible=this.focused},inputChanged:function(old){if(this.input){this.updateLabelVisibility(this.input.value);this.updateInputLabel(this.input,this.label);if(this.autoValidate){this.validate()}}if(old){this.updateInputLabel(old,"")}},focusAction:function(){this.focused=true},blurAction:function(){this.focused=false},updateLabelVisibility:function(value){var v=value!==null&&value!==undefined?String(value):value;this._autoLabelVisible=!this.focused&&!v||!this.floatingLabel&&!v},updateInputLabel:function(input,label){if(this._labelVisible){this.input.placeholder=this.label}else{this.input.placeholder=""}if(label){input.setAttribute("aria-label",label)}else{input.removeAttribute("aria-label")}},inputAction:function(){this.updateLabelVisibility(this.input.value);if(this.autoValidate){this.validate()}},downAction:function(e){if(e.target!==this.input&&this.focused){e.preventDefault();return}this.lastEvent=e},tapAction:function(e){if(this.disabled){return}if(this.focused){return}if(this.input){this.input.focus();e.preventDefault()}},transitionEndAction:function(){this.underlineAnimated=false;this.labelAnimated=false;if(this._labelVisible){this.input.placeholder=this.label}},charCounterErrorAction:function(e){this.isInvalid=e.detail.hasError;this.$.errorIcon.hidden=e.detail.hideErrorIcon}})})();Polymer("paper-input",{publish:{label:"",floatingLabel:false,disabled:{value:false,reflect:true},value:"",committedValue:""},focus:function(){this.$.input.focus()},valueChanged:function(){this.$.decorator.updateLabelVisibility(this.value)},changeAction:function(e){this.fire("change",null,this)}});(function(){var p={eventDelegates:{down:"downAction",up:"upAction"},toggleBackground:function(){if(this.active){if(!this.$.bg){var bg=document.createElement("div");bg.setAttribute("id","bg");bg.setAttribute("fit","");bg.style.opacity=.25;this.$.bg=bg;this.shadowRoot.insertBefore(bg,this.shadowRoot.firstChild)}this.$.bg.style.backgroundColor=getComputedStyle(this).color}else{if(this.$.bg){this.$.bg.style.backgroundColor=""}}},activeChanged:function(){this.super();if(this.toggle&&(!this.lastEvent||this.matches(":host-context([noink])"))){this.toggleBackground()}},pressedChanged:function(){this.super();if(!this.lastEvent){return}if(this.$.ripple&&!this.hasAttribute("noink")){if(this.pressed){this.$.ripple.downAction(this.lastEvent)}else{this.$.ripple.upAction()}}this.adjustZ()},focusedChanged:function(){this.adjustZ()},disabledChanged:function(){this._disabledChanged();this.adjustZ()},recenteringTouchChanged:function(){if(this.$.ripple){this.$.ripple.classList.toggle("recenteringTouch",this.recenteringTouch)}},fillChanged:function(){if(this.$.ripple){this.$.ripple.classList.toggle("fill",this.fill)}},adjustZ:function(){if(!this.$.shadow){return}if(this.active){this.$.shadow.setZ(2)}else if(this.disabled){this.$.shadow.setZ(0)}else if(this.focused){this.$.shadow.setZ(3)}else{this.$.shadow.setZ(1)}},downAction:function(e){this._downAction();if(this.hasAttribute("noink")){return}this.lastEvent=e;if(!this.$.ripple){var ripple=document.createElement("paper-ripple");ripple.setAttribute("id","ripple");ripple.setAttribute("fit","");if(this.recenteringTouch){ripple.classList.add("recenteringTouch")}if(!this.fill){ripple.classList.add("circle")}this.$.ripple=ripple;this.shadowRoot.insertBefore(ripple,this.shadowRoot.firstChild)}},upAction:function(){this._upAction();if(this.toggle){this.toggleBackground();if(this.$.ripple){this.$.ripple.cancel()}}}};Polymer.mixin2(p,Polymer.CoreFocusable);Polymer("paper-button-base",p)})();Polymer("paper-item",{publish:{raised:false,recenteringTouch:false,fill:true}});Polymer("paper-icon-button",{publish:{src:"",icon:"",recenteringTouch:true,fill:false},iconChanged:function(oldIcon){var label=this.getAttribute("aria-label");if(!label||label===oldIcon){this.setAttribute("aria-label",this.icon)}}});Polymer("paper-tab",{noink:false,eventDelegates:{down:"downAction",up:"upAction"},downAction:function(e){if(this.noink||this.parentElement&&this.parentElement.noink){return}this.$.ink.downAction(e)},upAction:function(){this.$.ink.upAction()},cancelRipple:function(){this.$.ink.upAction()}});Polymer("paper-tabs",Polymer.mixin({noink:false,nobar:false,noslide:false,scrollable:false,disableDrag:false,hideScrollButton:false,alignBottom:false,eventDelegates:{"core-resize":"resizeHandler"},activateEvent:"tap",step:10,holdDelay:10,ready:function(){this.super();this._trackxHandler=this.trackx.bind(this);Polymer.addEventListener(this.$.tabsContainer,"trackx",this._trackxHandler);this._tabsObserver=new MutationObserver(this.updateBar.bind(this))},domReady:function(){this.async("resizeHandler");this._tabsObserver.observe(this,{childList:true,subtree:true,characterData:true})},attached:function(){this.resizableAttachedHandler()},detached:function(){Polymer.removeEventListener(this.$.tabsContainer,"trackx",this._trackxHandler);this._tabsObserver.disconnect();this.resizableDetachedHandler()},trackStart:function(e){if(!this.scrollable||this.disableDrag){return}var t=e.target;if(t&&t.cancelRipple){t.cancelRipple()}this._startx=this.$.tabsContainer.scrollLeft;e.preventTap()},trackx:function(e){if(!this.scrollable||this.disableDrag){return}this.$.tabsContainer.scrollLeft=this._startx-e.dx},resizeHandler:function(){this.scroll();this.updateBar()},scroll:function(){if(!this.scrollable){return}var tc=this.$.tabsContainer;var l=tc.scrollLeft;this.leftHidden=l===0;this.rightHidden=l===Math.max(0,tc.scrollWidth-tc.clientWidth)},holdLeft:function(){this.holdJob=setInterval(this.scrollToLeft.bind(this),this.holdDelay)},holdRight:function(){this.holdJob=setInterval(this.scrollToRight.bind(this),this.holdDelay)},releaseHold:function(){clearInterval(this.holdJob);this.holdJob=null},scrollToLeft:function(){this.$.tabsContainer.scrollLeft-=this.step},scrollToRight:function(){this.$.tabsContainer.scrollLeft+=this.step},updateBar:function(){this.async("selectedItemChanged")},selectedItemChanged:function(old){var oldIndex=this.selectedIndex;this.super(arguments);var s=this.$.selectionBar.style;if(!this.selectedItem){s.width=0;s.left=0;return}var r=this.$.tabsContent.getBoundingClientRect();this._w=r.width;this._l=r.left;r=this.selectedItem.getBoundingClientRect();this._sw=r.width;this._sl=r.left;this._sOffsetLeft=this._sl-this._l;if(this.noslide||old==null){this.positionBarForSelected();return}var oldRect=old.getBoundingClientRect();var m=5;this.$.selectionBar.classList.add("expand");if(oldIndex<this.selectedIndex){s.width=this.calcPercent(this._sl+this._sw-oldRect.left)-m+"%";this._transitionCounter=1}else{s.width=this.calcPercent(oldRect.left+oldRect.width-this._sl)-m+"%";s.left=this.calcPercent(this._sOffsetLeft)+m+"%";this._transitionCounter=2}if(this.scrollable){this.scrollToSelectedIfNeeded()}},scrollToSelectedIfNeeded:function(){var scrollLeft=this.$.tabsContainer.scrollLeft;if(this._sOffsetLeft+this._sw<scrollLeft||this._sOffsetLeft-scrollLeft>this.$.tabsContainer.offsetWidth){this.$.tabsContainer.scrollLeft=this._sOffsetLeft}},positionBarForSelected:function(){var s=this.$.selectionBar.style;s.width=this.calcPercent(this._sw)+"%";s.left=this.calcPercent(this._sOffsetLeft)+"%"},calcPercent:function(w){return 100*w/this._w},barTransitionEnd:function(e){this._transitionCounter--;var cl=this.$.selectionBar.classList;if(cl.contains("expand")&&!this._transitionCounter){cl.remove("expand");cl.add("contract");this.positionBarForSelected()}else if(cl.contains("contract")){cl.remove("contract")}}},Polymer.CoreResizable));Polymer("paper-shadow",{publish:{z:1,animated:false},setZ:function(newZ){if(this.z!==newZ){this.$["shadow-bottom"].classList.remove("paper-shadow-bottom-z-"+this.z);this.$["shadow-bottom"].classList.add("paper-shadow-bottom-z-"+newZ);this.$["shadow-top"].classList.remove("paper-shadow-top-z-"+this.z);this.$["shadow-top"].classList.add("paper-shadow-top-z-"+newZ);this.z=newZ}}});Polymer("paper-fab",{publish:{src:"",icon:"",mini:false,raised:true,recenteringTouch:true,fill:false},iconChanged:function(oldIcon){var label=this.getAttribute("aria-label");if(!label||label===oldIcon){this.setAttribute("aria-label",this.icon)}}});Polymer("paper-button",{publish:{raised:false,recenteringTouch:false,fill:true},_activate:function(){this.click();this.fire("tap");if(!this.pressed){var bcr=this.getBoundingClientRect();var x=bcr.left+bcr.width/2;var y=bcr.top+bcr.height/2;this.downAction({x:x,y:y});var fn=function fn(){this.upAction();this.removeEventListener("keyup",fn)}.bind(this);this.addEventListener("keyup",fn)}}});Polymer("core-transition",{type:"transition",go:function(node,state){this.complete(node)},setup:function(node){},teardown:function(node){},complete:function(node){this.fire("core-transitionend",null,node)},listenOnce:function(node,event,fn,args){var self=this;var listener=function(){fn.apply(self,args);node.removeEventListener(event,listener,false)};node.addEventListener(event,listener,false)}});Polymer("core-key-helper",{ENTER_KEY:13,ESCAPE_KEY:27});(function(){Polymer("core-overlay-layer",{publish:{opened:false},openedChanged:function(){this.classList.toggle("core-opened",this.opened)},addElement:function(element){if(!this.parentNode){document.querySelector("body").appendChild(this)}if(element.parentNode!==this){element.__contents=[];var ip$=element.querySelectorAll("content");for(var i=0,l=ip$.length,n;i<l&&(n=ip$[i]);i++){this.moveInsertedElements(n);this.cacheDomLocation(n);n.parentNode.removeChild(n);element.__contents.push(n)}this.cacheDomLocation(element);this.updateEventController(element);var h=this.makeHost();h.shadowRoot.appendChild(element);element.__host=h}},makeHost:function(){var h=document.createElement("overlay-host");h.createShadowRoot();this.appendChild(h);return h},moveInsertedElements:function(insertionPoint){var n$=insertionPoint.getDistributedNodes();var parent=insertionPoint.parentNode;insertionPoint.__contents=[];for(var i=0,l=n$.length,n;i<l&&(n=n$[i]);i++){this.cacheDomLocation(n);this.updateEventController(n);insertionPoint.__contents.push(n);parent.appendChild(n)}},updateEventController:function(element){element.eventController=this.element.findController(element)},removeElement:function(element){element.eventController=null;this.replaceElement(element);var h=element.__host;if(h){h.parentNode.removeChild(h)}},replaceElement:function(element){if(element.__contents){for(var i=0,c$=element.__contents,c;c=c$[i];i++){this.replaceElement(c)}element.__contents=null}if(element.__parentNode){var n=element.__nextElementSibling&&element.__nextElementSibling===element.__parentNode?element.__nextElementSibling:null;element.__parentNode.insertBefore(element,n)}},cacheDomLocation:function(element){element.__nextElementSibling=element.nextElementSibling;element.__parentNode=element.parentNode}})})();(function(){Polymer("core-overlay",Polymer.mixin({publish:{target:null,sizingTarget:null,opened:false,backdrop:false,layered:false,autoCloseDisabled:false,autoFocusDisabled:false,closeAttribute:"core-overlay-toggle",closeSelector:"",transition:"core-transition-fade"},captureEventName:"tap",targetListeners:{tap:"tapHandler",keydown:"keydownHandler","core-transitionend":"transitionend"},attached:function(){this.resizerAttachedHandler()},detached:function(){this.resizerDetachedHandler()},resizerShouldNotify:function(){return this.opened},registerCallback:function(element){this.layer=document.createElement("core-overlay-layer");this.keyHelper=document.createElement("core-key-helper");this.meta=document.createElement("core-transition");this.scrim=document.createElement("div");this.scrim.className="core-overlay-backdrop"},ready:function(){this.target=this.target||this;Polymer.flush()},toggle:function(){this.opened=!this.opened},open:function(){this.opened=true},close:function(){this.opened=false},domReady:function(){this.ensureTargetSetup()},targetChanged:function(old){if(this.target){if(this.target.tabIndex<0){this.target.tabIndex=-1}this.addElementListenerList(this.target,this.targetListeners);this.target.style.display="none";this.target.__overlaySetup=false}if(old){this.removeElementListenerList(old,this.targetListeners);var transition=this.getTransition();if(transition){transition.teardown(old)}else{old.style.position="";old.style.outline=""}old.style.display=""}},transitionChanged:function(old){if(!this.target){return}if(old){this.getTransition(old).teardown(this.target)}this.target.__overlaySetup=false},ensureTargetSetup:function(){if(!this.target||this.target.__overlaySetup){return}if(!this.sizingTarget){this.sizingTarget=this.target}this.target.__overlaySetup=true;this.target.style.display="";var transition=this.getTransition();if(transition){transition.setup(this.target)}var style=this.target.style;var computed=getComputedStyle(this.target);if(computed.position==="static"){style.position="fixed"}style.outline="none";style.display="none"},openedChanged:function(){this.transitioning=true;this.ensureTargetSetup();this.prepareRenderOpened();this.async(function(){this.target.style.display="";this.target.offsetWidth;this.renderOpened()});this.fire("core-overlay-open",this.opened)},prepareRenderOpened:function(){if(this.opened){addOverlay(this)}this.prepareBackdrop();this.async(function(){if(!this.autoCloseDisabled){this.enableElementListener(this.opened,document,this.captureEventName,"captureHandler",true)}});this.enableElementListener(this.opened,window,"resize","resizeHandler");if(this.opened){this.target.offsetHeight;this.discoverDimensions();this.preparePositioning();this.positionTarget();this.updateTargetDimensions();this.finishPositioning();if(this.layered){this.layer.addElement(this.target);this.layer.opened=this.opened}}},renderOpened:function(){this.notifyResize();var transition=this.getTransition();if(transition){transition.go(this.target,{opened:this.opened})}else{this.transitionend()}this.renderBackdropOpened()},transitionend:function(e){if(e&&e.target!==this.target){return}this.transitioning=false;if(!this.opened){this.resetTargetDimensions();this.target.style.display="none";this.completeBackdrop();removeOverlay(this);if(this.layered){if(!currentOverlay()){this.layer.opened=this.opened}this.layer.removeElement(this.target)}}this.fire("core-overlay-"+(this.opened?"open":"close")+"-completed");this.applyFocus()},prepareBackdrop:function(){if(this.backdrop&&this.opened){if(!this.scrim.parentNode){document.body.appendChild(this.scrim);this.scrim.style.zIndex=currentOverlayZ()-1}trackBackdrop(this)}},renderBackdropOpened:function(){if(this.backdrop&&getBackdrops().length<2){this.scrim.classList.toggle("core-opened",this.opened)}},completeBackdrop:function(){if(this.backdrop){trackBackdrop(this);if(getBackdrops().length===0){this.scrim.parentNode.removeChild(this.scrim)}}},preparePositioning:function(){this.target.style.transition=this.target.style.webkitTransition="none";this.target.style.transform=this.target.style.webkitTransform="none";this.target.style.display=""},discoverDimensions:function(){if(this.dimensions){return}var target=getComputedStyle(this.target);var sizer=getComputedStyle(this.sizingTarget);this.dimensions={position:{v:target.top!=="auto"?"top":target.bottom!=="auto"?"bottom":null,h:target.left!=="auto"?"left":target.right!=="auto"?"right":null,css:target.position},size:{v:sizer.maxHeight!=="none",h:sizer.maxWidth!=="none"},margin:{top:parseInt(target.marginTop)||0,right:parseInt(target.marginRight)||0,bottom:parseInt(target.marginBottom)||0,left:parseInt(target.marginLeft)||0}}},finishPositioning:function(target){this.target.style.display="none";this.target.style.transform=this.target.style.webkitTransform="";
this.target.offsetWidth;this.target.style.transition=this.target.style.webkitTransition=""},getTransition:function(name){return this.meta.byId(name||this.transition)},getFocusNode:function(){return this.target.querySelector("[autofocus]")||this.target},applyFocus:function(){var focusNode=this.getFocusNode();if(this.opened){if(!this.autoFocusDisabled){focusNode.focus()}}else{focusNode.blur();if(currentOverlay()==this){console.warn("Current core-overlay is attempting to focus itself as next! (bug)")}else{focusOverlay()}}},positionTarget:function(){this.fire("core-overlay-position",{target:this.target,sizingTarget:this.sizingTarget,opened:this.opened});if(!this.dimensions.position.v){this.target.style.top="0px"}if(!this.dimensions.position.h){this.target.style.left="0px"}},updateTargetDimensions:function(){this.sizeTarget();this.repositionTarget()},sizeTarget:function(){this.sizingTarget.style.boxSizing="border-box";var dims=this.dimensions;var rect=this.target.getBoundingClientRect();if(!dims.size.v){this.sizeDimension(rect,dims.position.v,"top","bottom","Height")}if(!dims.size.h){this.sizeDimension(rect,dims.position.h,"left","right","Width")}},sizeDimension:function(rect,positionedBy,start,end,extent){var dims=this.dimensions;var flip=positionedBy===end;var m=flip?start:end;var ws=window["inner"+extent];var o=dims.margin[m]+(flip?ws-rect[end]:rect[start]);var offset="offset"+extent;var o2=this.target[offset]-this.sizingTarget[offset];this.sizingTarget.style["max"+extent]=ws-o-o2+"px"},repositionTarget:function(){if(this.dimensions.position.css!=="fixed"){return}if(!this.dimensions.position.v){var t=(window.innerHeight-this.target.offsetHeight)/2;t-=this.dimensions.margin.top;this.target.style.top=t+"px"}if(!this.dimensions.position.h){var l=(window.innerWidth-this.target.offsetWidth)/2;l-=this.dimensions.margin.left;this.target.style.left=l+"px"}},resetTargetDimensions:function(){if(!this.dimensions||!this.dimensions.size.v){this.sizingTarget.style.maxHeight="";this.target.style.top=""}if(!this.dimensions||!this.dimensions.size.h){this.sizingTarget.style.maxWidth="";this.target.style.left=""}this.dimensions=null},tapHandler:function(e){if(e.target&&(this.closeSelector&&e.target.matches(this.closeSelector))||this.closeAttribute&&e.target.hasAttribute(this.closeAttribute)){this.toggle()}else{if(this.autoCloseJob){this.autoCloseJob.stop();this.autoCloseJob=null}}},captureHandler:function(e){if(!this.autoCloseDisabled&&currentOverlay()==this){this.autoCloseJob=this.job(this.autoCloseJob,function(){this.close()})}},keydownHandler:function(e){if(!this.autoCloseDisabled&&e.keyCode==this.keyHelper.ESCAPE_KEY){this.close();e.stopPropagation()}},resizeHandler:function(){this.updateTargetDimensions()},addElementListenerList:function(node,events){for(var i in events){this.addElementListener(node,i,events[i])}},removeElementListenerList:function(node,events){for(var i in events){this.removeElementListener(node,i,events[i])}},enableElementListener:function(enable,node,event,methodName,capture){if(enable){this.addElementListener(node,event,methodName,capture)}else{this.removeElementListener(node,event,methodName,capture)}},addElementListener:function(node,event,methodName,capture){var fn=this._makeBoundListener(methodName);if(node&&fn){Polymer.addEventListener(node,event,fn,capture)}},removeElementListener:function(node,event,methodName,capture){var fn=this._makeBoundListener(methodName);if(node&&fn){Polymer.removeEventListener(node,event,fn,capture)}},_makeBoundListener:function(methodName){var self=this,method=this[methodName];if(!method){return}var bound="_bound"+methodName;if(!this[bound]){this[bound]=function(e){method.call(self,e)}}return this[bound]}},Polymer.CoreResizer));var overlays=[];function addOverlay(overlay){var z0=currentOverlayZ();overlays.push(overlay);var z1=currentOverlayZ();if(z1<=z0){applyOverlayZ(overlay,z0)}}function removeOverlay(overlay){var i=overlays.indexOf(overlay);if(i>=0){overlays.splice(i,1);setZ(overlay,"")}}function applyOverlayZ(overlay,aboveZ){setZ(overlay.target,aboveZ+2)}function setZ(element,z){element.style.zIndex=z}function currentOverlay(){return overlays[overlays.length-1]}var DEFAULT_Z=10;function currentOverlayZ(){var z;var current=currentOverlay();if(current){var z1=window.getComputedStyle(current.target).zIndex;if(!isNaN(z1)){z=Number(z1)}}return z||DEFAULT_Z}function focusOverlay(){var current=currentOverlay();if(current&&!current.transitioning){current.applyFocus()}}var backdrops=[];function trackBackdrop(element){if(element.opened){backdrops.push(element)}else{var i=backdrops.indexOf(element);if(i>=0){backdrops.splice(i,1)}}}function getBackdrops(){return backdrops}})();Polymer("core-transition-css",{baseClass:"core-transition",openedClass:"core-opened",closedClass:"core-closed",completeEventName:"transitionend",publish:{transitionType:null},registerCallback:function(element){this.transitionStyle=element.templateContent().firstElementChild},fetchTemplate:function(){return null},go:function(node,state){if(state.opened!==undefined){this.transitionOpened(node,state.opened)}},setup:function(node){if(!node._hasTransitionStyle){if(!node.shadowRoot){node.createShadowRoot().innerHTML="<content></content>"}this.installScopeStyle(this.transitionStyle,"transition",node.shadowRoot);node._hasTransitionStyle=true}node.classList.add(this.baseClass);if(this.transitionType){node.classList.add(this.baseClass+"-"+this.transitionType)}},teardown:function(node){node.classList.remove(this.baseClass);if(this.transitionType){node.classList.remove(this.baseClass+"-"+this.transitionType)}},transitionOpened:function(node,opened){this.listenOnce(node,this.completeEventName,function(){if(!opened){node.classList.remove(this.closedClass)}this.complete(node)});node.classList.toggle(this.openedClass,opened);node.classList.toggle(this.closedClass,!opened)}});Polymer("paper-dialog-base",{publish:{heading:"",transition:"",layered:true},ready:function(){this.super();this.sizingTarget=this.$.scroller},headingChanged:function(old){var label=this.getAttribute("aria-label");if(!label||label===old){this.setAttribute("aria-label",this.heading)}},openAction:function(){if(this.$.scroller.scrollTop){this.$.scroller.scrollTop=0}}});Polymer("paper-dialog");(function(){function docElem(property){var t;return((t=document.documentElement)||(t=document.body.parentNode))&&typeof t[property]==="number"?t:document.body}function viewSize(){var doc=docElem("clientWidth");var body=document.body;var w,h;return typeof document.clientWidth==="number"?{w:document.clientWidth,h:document.clientHeight}:doc===body||(w=Math.max(doc.clientWidth,body.clientWidth))>self.innerWidth||(h=Math.max(doc.clientHeight,body.clientHeight))>self.innerHeight?{w:body.clientWidth,h:body.clientHeight}:{w:w,h:h}}Polymer("core-dropdown",{publish:{relatedTarget:null,halign:"left",valign:"top"},measure:function(){var target=this.target;var pos=target.style.position;target.style.position="fixed";target.style.left="0px";target.style.top="0px";var rect=target.getBoundingClientRect();target.style.position=pos;target.style.left=null;target.style.top=null;return rect},resetTargetDimensions:function(){var dims=this.dimensions;var style=this.target.style;if(dims.position.h_by===this.localName){style[dims.position.h]=null;dims.position.h_by=null}if(dims.position.v_by===this.localName){style[dims.position.v]=null;dims.position.v_by=null}var style=this.sizingTarget.style;style.width=null;style.height=null;this.super()},positionTarget:function(){if(!this.relatedTarget){this.relatedTarget=this.target.parentElement||this.target.parentNode&&this.target.parentNode.host;if(!this.relatedTarget){this.super();return}}var target=this.sizingTarget;var rect=this.measure();target.style.width=Math.ceil(rect.width)+"px";target.style.height=Math.ceil(rect.height)+"px";if(this.layered){this.positionLayeredTarget()}else{this.positionNestedTarget()}},positionLayeredTarget:function(){var target=this.target;var rect=this.relatedTarget.getBoundingClientRect();var dims=this.dimensions;var margin=dims.margin;var vp=viewSize();if(!dims.position.h){if(this.halign==="right"){target.style.right=vp.w-rect.right-margin.right+"px";dims.position.h="right"}else{target.style.left=rect.left-margin.left+"px";dims.position.h="left"}dims.position.h_by=this.localName}if(!dims.position.v){if(this.valign==="bottom"){target.style.bottom=vp.h-rect.bottom-margin.bottom+"px";dims.position.v="bottom"}else{target.style.top=rect.top-margin.top+"px";dims.position.v="top"}dims.position.v_by=this.localName}if(dims.position.h_by||dims.position.v_by){target.style.position="fixed"}},positionNestedTarget:function(){var target=this.target;var related=this.relatedTarget;var t_op=target.offsetParent;var r_op=related.offsetParent;if(window.ShadowDOMPolyfill){t_op=wrap(t_op);r_op=wrap(r_op)}if(t_op!==r_op&&t_op!==related){console.warn("core-dropdown-overlay: dropdown's offsetParent must be the relatedTarget or the relatedTarget's offsetParent!")}var dims=this.dimensions;var margin=dims.margin;var inside=t_op===related;if(!dims.position.h){if(this.halign==="right"){target.style.right=(inside?0:t_op.offsetWidth-related.offsetLeft-related.offsetWidth)-margin.right+"px";dims.position.h="right"}else{target.style.left=(inside?0:related.offsetLeft)-margin.left+"px";dims.position.h="left"}dims.position.h_by=this.localName}if(!dims.position.v){if(this.valign==="bottom"){target.style.bottom=(inside?0:t_op.offsetHeight-related.offsetTop-related.offsetHeight)-margin.bottom+"px";dims.position.v="bottom"}else{target.style.top=(inside?0:related.offsetTop)-margin.top+"px";dims.position.v="top"}dims.position.v_by=this.localName}}})})();Polymer("paper-dropdown-transition",{publish:{duration:500},setup:function(node){this.super(arguments);var to={top:"0%",left:"0%",bottom:"100%",right:"100%"};var bg=node.$.background;bg.style.webkitTransformOrigin=to[node.halign]+" "+to[node.valign];bg.style.transformOrigin=to[node.halign]+" "+to[node.valign]},transitionOpened:function(node,opened){this.super(arguments);if(opened){if(this.player){this.player.cancel()}var duration=Number(node.getAttribute("duration"))||this.duration;var anims=[];var size=node.getBoundingClientRect();var ink=node.$.ripple;var offset=.2;anims.push(new Animation(ink,[{opacity:.9,transform:"scale(0)"},{opacity:.9,transform:"scale(1)"}],{duration:duration*offset}));anims.push(new Animation(node.$.background,[{opacity:0,transform:"scale(0)"},{opacity:0,transform:"scale(0)"}],{duration:0,delay:0,fill:"forwards"}));var bg=node.$.background;var sx=40/size.width;var sy=40/size.height;anims.push(new Animation(bg,[{opacity:.9,transform:"scale("+sx+","+sy+")"},{opacity:1,transform:"scale("+Math.max(sx,.95)+","+Math.max(sy,.5)+")"},{opacity:1,transform:"scale(1, 1)"}],{delay:duration*offset,duration:duration*(1-offset),fill:"forwards"}));var menu=node.querySelector(".menu");if(menu){var items=menu.items||menu.children.array();var itemDelay=offset+(1-offset)/2;var itemDuration=duration*(1-itemDelay)/items.length;var reverse=this.valign==="bottom";items.forEach(function(item,i){anims.push(new Animation(item,[{opacity:0},{opacity:1}],{delay:duration*itemDelay+itemDuration*(reverse?items.length-1-i:i),duration:itemDuration,fill:"both"}))}.bind(this));anims.push(new Animation(node.$.scroller,[{opacity:1},{opacity:1}],{delay:duration*itemDelay,duration:itemDuration*items.length,fill:"both"}))}else{anims.push(new Animation(node.$.scroller,[{opacity:0},{opacity:1}],{delay:duration*(offset+(1-offset)/2),duration:duration*.5,fill:"both"}))}var group=new AnimationGroup(anims,{easing:"cubic-bezier(0.4, 0, 0.2, 1)"});this.player=document.timeline.play(group);this.player.onfinish=function(){this.fire("core-transitionend",this,node)}.bind(this)}else{this.fire("core-transitionend",this,node)}}});Polymer("paper-dropdown",{publish:{transition:"paper-dropdown-transition"},ready:function(){this.super();this.sizingTarget=this.$.scroller}});Polymer("core-dropdown-base",{publish:{opened:false},eventDelegates:{tap:"toggleOverlay"},overlayListeners:{"core-overlay-open":"openAction"},get dropdown(){if(!this._dropdown){this._dropdown=this.querySelector(".dropdown");for(var l in this.overlayListeners){this.addElementListener(this._dropdown,l,this.overlayListeners[l])}}return this._dropdown},attached:function(){this.dropdown},addElementListener:function(node,event,methodName,capture){var fn=this._makeBoundListener(methodName);if(node&&fn){Polymer.addEventListener(node,event,fn,capture)}},removeElementListener:function(node,event,methodName,capture){var fn=this._makeBoundListener(methodName);if(node&&fn){Polymer.removeEventListener(node,event,fn,capture)}},_makeBoundListener:function(methodName){var self=this,method=this[methodName];if(!method){return}var bound="_bound"+methodName;if(!this[bound]){this[bound]=function(e){method.call(self,e)}}return this[bound]},openedChanged:function(){if(this.disabled){return}var dropdown=this.dropdown;if(dropdown){dropdown.opened=this.opened}},openAction:function(e){this.opened=!!e.detail},toggleOverlay:function(event){if(!this.dropdown.contains(event.target)&&!this.disabled){this.opened=!this.opened}}});(function(){var p={publish:{label:"Select an item",openedIcon:"arrow-drop-up",closedIcon:"arrow-drop-down"},selectedItemLabel:"",overlayListeners:{"core-overlay-open":"openAction","core-activate":"activateAction","core-select":"selectAction"},activateAction:function(e){this.opened=false},selectAction:function(e){var detail=e.detail;if(detail.isSelected){this.$.label.classList.add("selectedItem");this.selectedItemLabel=detail.item.label||detail.item.textContent}else{this.$.label.classList.remove("selectedItem");this.selectedItemLabel=""}}};Polymer.mixin2(p,Polymer.CoreFocusable);Polymer("paper-dropdown-menu",p)})();Polymer("paper-menu-button",{overlayListeners:{"core-overlay-open":"openAction","core-activate":"activateAction"},activateAction:function(){this.opened=false}});Polymer("core-range",{value:0,min:0,max:100,step:1,ratio:0,observe:{"value min max step":"update"},calcRatio:function(value){return(this.clampValue(value)-this.min)/(this.max-this.min)},clampValue:function(value){return Math.min(this.max,Math.max(this.min,this.calcStep(value)))},calcStep:function(value){return this.step?Math.round(value/this.step)/(1/this.step):value},validateValue:function(){var v=this.clampValue(this.value);this.value=this.oldValue=isNaN(v)?this.oldValue:v;return this.value!==v},update:function(){this.validateValue();this.ratio=this.calcRatio(this.value)*100}});Polymer("paper-progress",{secondaryProgress:0,indeterminate:false,step:0,observe:{"value secondaryProgress min max indeterminate":"update"},update:function(){this.super();this.secondaryProgress=this.clampValue(this.secondaryProgress);this.secondaryRatio=this.calcRatio(this.secondaryProgress)*100;this.$.activeProgress.classList.toggle("indeterminate",this.indeterminate)},transformProgress:function(progress,ratio){var transform="scaleX("+ratio/100+")";progress.style.transform=progress.style.webkitTransform=transform},ratioChanged:function(){this.transformProgress(this.$.activeProgress,this.ratio)},secondaryRatioChanged:function(){this.transformProgress(this.$.secondaryProgress,this.secondaryRatio)}});Polymer("core-localstorage",{name:"",value:null,useRaw:false,autoSaveDisabled:false,valueChanged:function(){if(this.loaded&&!this.autoSaveDisabled){this.save()}},nameChanged:function(){this.load()},load:function(){var v=localStorage.getItem(this.name);if(this.useRaw){this.value=v}else{if(v===null){if(this.value!=null){this.save()}}else{try{v=JSON.parse(v)}catch(x){}this.value=v}}this.loaded=true;this.asyncFire("core-localstorage-load")},save:function(){var v=this.useRaw?this.value:JSON.stringify(this.value);localStorage.setItem(this.name,v)}});(function(){Polymer("core-shared-lib",{notifyEvent:"core-shared-lib-load",ready:function(){if(!this.url&&this.defaultUrl){this.url=this.defaultUrl}},urlChanged:function(){require(this.url,this,this.callbackName)},provide:function(){this.async("notify")},notify:function(){this.fire(this.notifyEvent,arguments)}});var apiMap={};function require(url,notifiee,callbackName){var name=nameFromUrl(url);var loader=apiMap[name];if(!loader){loader=apiMap[name]=new Loader(name,url,callbackName)}loader.requestNotify(notifiee)}function nameFromUrl(url){return url.replace(/[\:\/\%\?\&\.\=\-\,]/g,"_")+"_api"}var Loader=function(name,url,callbackName){this.instances=[];this.callbackName=callbackName;if(this.callbackName){window[this.callbackName]=this.success.bind(this)}else{if(url.indexOf(this.callbackMacro)>=0){this.callbackName=name+"_loaded";window[this.callbackName]=this.success.bind(this);url=url.replace(this.callbackMacro,this.callbackName)}else{throw"core-shared-api: a %%callback%% parameter is required in the API url"}}this.addScript(url)};Loader.prototype={callbackMacro:"%%callback%%",loaded:false,addScript:function(src){var script=document.createElement("script");script.src=src;script.onerror=this.error.bind(this);var s=document.querySelector("script");s.parentNode.insertBefore(script,s);this.script=script},removeScript:function(){if(this.script.parentNode){this.script.parentNode.removeChild(this.script)}this.script=null},error:function(){this.cleanup()},success:function(){this.loaded=true;this.cleanup();this.result=Array.prototype.slice.call(arguments);this.instances.forEach(this.provide,this);this.instances=null},cleanup:function(){delete window[this.callbackName]},provide:function(instance){instance.notify(instance,this.result)},requestNotify:function(instance){if(this.loaded){this.provide(instance)}else{this.instances.push(instance)}}}})();Polymer("google-youtube-api",{defaultUrl:"https://www.youtube.com/iframe_api",notifyEvent:"api-load",callbackName:"onYouTubeIframeAPIReady",get api(){return YT}});Polymer("google-youtube",{videoid:"mN7IAaRdi_k",playsupported:null,playbackstarted:false,height:"270px",width:"480px",state:-1,currenttime:0,duration:1,currenttimeformatted:"0:00",durationformatted:"0:00",fractionloaded:0,chromeless:false,thumbnail:"",fluid:false,_determinePlaySupported:function(){if(this.playsupported==null){if(this._playsupportedLocalStorage==null){var timeout;var videoElement=document.createElement("video");if("play"in videoElement){videoElement.id="playtest";var mp4Source=document.createElement("source");mp4Source.src="data:video/mp4;base64,AAAAFGZ0eXBNU05WAAACAE1TTlYAAAOUbW9vdgAAAGxtdmhkAAAAAM9ghv7PYIb+AAACWAAACu8AAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAnh0cmFrAAAAXHRraGQAAAAHz2CG/s9ghv4AAAABAAAAAAAACu8AAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAFAAAAA4AAAAAAHgbWRpYQAAACBtZGhkAAAAAM9ghv7PYIb+AAALuAAANq8AAAAAAAAAIWhkbHIAAAAAbWhscnZpZGVBVlMgAAAAAAABAB4AAAABl21pbmYAAAAUdm1oZAAAAAAAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAVdzdGJsAAAAp3N0c2QAAAAAAAAAAQAAAJdhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAFAAOABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAEmNvbHJuY2xjAAEAAQABAAAAL2F2Y0MBTUAz/+EAGGdNQDOadCk/LgIgAAADACAAAAMA0eMGVAEABGjuPIAAAAAYc3R0cwAAAAAAAAABAAAADgAAA+gAAAAUc3RzcwAAAAAAAAABAAAAAQAAABxzdHNjAAAAAAAAAAEAAAABAAAADgAAAAEAAABMc3RzegAAAAAAAAAAAAAADgAAAE8AAAAOAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAAOAAAAFHN0Y28AAAAAAAAAAQAAA7AAAAA0dXVpZFVTTVQh0k/Ou4hpXPrJx0AAAAAcTVREVAABABIAAAAKVcQAAAAAAAEAAAAAAAAAqHV1aWRVU01UIdJPzruIaVz6ycdAAAAAkE1URFQABAAMAAAAC1XEAAACHAAeAAAABBXHAAEAQQBWAFMAIABNAGUAZABpAGEAAAAqAAAAASoOAAEAZABlAHQAZQBjAHQAXwBhAHUAdABvAHAAbABhAHkAAAAyAAAAA1XEAAEAMgAwADAANQBtAGUALwAwADcALwAwADYAMAA2ACAAMwA6ADUAOgAwAAABA21kYXQAAAAYZ01AM5p0KT8uAiAAAAMAIAAAAwDR4wZUAAAABGjuPIAAAAAnZYiAIAAR//eBLT+oL1eA2Nlb/edvwWZflzEVLlhlXtJvSAEGRA3ZAAAACkGaAQCyJ/8AFBAAAAAJQZoCATP/AOmBAAAACUGaAwGz/wDpgAAAAAlBmgQCM/8A6YEAAAAJQZoFArP/AOmBAAAACUGaBgMz/wDpgQAAAAlBmgcDs/8A6YEAAAAJQZoIBDP/AOmAAAAACUGaCQSz/wDpgAAAAAlBmgoFM/8A6YEAAAAJQZoLBbP/AOmAAAAACkGaDAYyJ/8AFBAAAAAKQZoNBrIv/4cMeQ==";videoElement.appendChild(mp4Source);var webmSource=document.createElement("source");webmSource.src="data:video/webm;base64,GkXfo49CgoR3ZWJtQoeBAUKFgQEYU4BnAQAAAAAAF60RTZt0vE27jFOrhBVJqWZTrIIQA027jFOrhBZUrmtTrIIQbE27jFOrhBFNm3RTrIIXmU27jFOrhBxTu2tTrIIWs+xPvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFUmpZuQq17GDD0JATYCjbGliZWJtbCB2MC43LjcgKyBsaWJtYXRyb3NrYSB2MC44LjFXQY9BVlNNYXRyb3NrYUZpbGVEiYRFnEAARGGIBc2Lz1QNtgBzpJCy3XZ0KNuKNZS4+fDpFxzUFlSua9iu1teBAXPFhL4G+bmDgQG5gQGIgQFVqoEAnIEAbeeBASMxT4Q/gAAAVe6BAIaFVl9WUDiqgQEj44OEE95DVSK1nIN1bmTgkbCBULqBPJqBAFSwgVBUuoE87EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9DtnVB4eeBAKC4obaBAAAAkAMAnQEqUAA8AABHCIWFiIWEiAICAAamYnoOC6cfJa8f5Zvda4D+/7YOf//nNefQYACgnKGWgQFNANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQKbANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQPoANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQU1ANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQaDANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQfQANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQkdANEBAAEQEBRgAGFgv9AAIiGAAPuC/rOgnKGWgQprANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQu4ANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQ0FANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQ5TANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQ+gANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgRDtANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgRI7ANEBAAEQEAAYABhYL/QACIhgAPuC/rIcU7trQOC7jLOBALeH94EB8YIUzLuNs4IBTbeH94EB8YIUzLuNs4ICm7eH94EB8YIUzLuNs4ID6LeH94EB8YIUzLuNs4IFNbeH94EB8YIUzLuNs4IGg7eH94EB8YIUzLuNs4IH0LeH94EB8YIUzLuNs4IJHbeH94EB8YIUzLuNs4IKa7eH94EB8YIUzLuNs4ILuLeH94EB8YIUzLuNs4INBbeH94EB8YIUzLuNs4IOU7eH94EB8YIUzLuNs4IPoLeH94EB8YIUzLuNs4IQ7beH94EB8YIUzLuNs4ISO7eH94EB8YIUzBFNm3SPTbuMU6uEH0O2dVOsghTM";videoElement.appendChild(webmSource);this.shadowRoot.appendChild(videoElement);this.async(function(){videoElement.onplaying=function(e){clearTimeout(timeout);this.playsupported=e&&e.type==="playing"||videoElement.currentTime!==0;this._playsupportedLocalStorage=this.playsupported;videoElement.onplaying=null;videoElement.parentNode.removeChild(videoElement)}.bind(this);timeout=setTimeout(videoElement.onplaying,500);videoElement.play()})}else{this.playsupported=false;this._playsupportedLocalStorage=false}}else{this.playsupported=this._playsupportedLocalStorage}}},ready:function(){if(this.hasAttribute("fluid")){var ratio=parseInt(this.height,10)/parseInt(this.width,10);if(isNaN(ratio)){ratio=9/16}ratio*=100;this.width="100%";this.height="auto";this.style["padding-top"]=ratio+"%"}},detached:function(){if(this.player){this.player.destroy()}},play:function(){if(this.player&&this.player.playVideo&&this.playsupported){this.player.playVideo()}},setVolume:function(volume){if(this.player&&this.player.setVolume){this.player.setVolume(volume)}},mute:function(){if(this.player&&this.player.mute){this.player.mute()}},unMute:function(){if(this.player&&this.player.unMute){this.player.unMute()}},pause:function(){if(this.player&&this.player.pauseVideo){this.player.pauseVideo()}},seekTo:function(seconds){if(this.player&&this.player.seekTo){this.player.seekTo(seconds,true);this.async(function(){this.updatePlaybackStats()},null,100)}},videoidChanged:function(){this.currenttime=0;this.currenttimeformatted=this.toHHMMSS(0);this.fractionloaded=0;this.duration=1;this.durationformatted=this.toHHMMSS(0);if(!this.player||!this.player.cueVideoById){this.pendingVideoId=this.videoid}else{if(this.playsupported&&this.attributes["autoplay"]&&this.attributes["autoplay"].value=="1"){this.player.loadVideoById(this.videoid)}else{this.player.cueVideoById(this.videoid)}}},player:null,updatePlaybackStatsInterval:null,pendingVideoId:"",autoplay:0,apiLoad:function(){var playerVars={playsinline:1,controls:2,autohide:1,autoplay:this.autoplay};if(this.chromeless){playerVars.controls=0;playerVars.modestbranding=1;playerVars.showinfo=0;playerVars.iv_load_policy=3;playerVars.rel=0}for(var i=0;i<this.attributes.length;i++){var attribute=this.attributes[i];playerVars[attribute.nodeName]=attribute.value}this.player=new YT.Player(this.$.player,{videoId:this.videoid,width:"100%",height:"100%",playerVars:playerVars,events:{onReady:function(e){if(this.pendingVideoId&&this.pendingVideoId!=this.videoid){this.player.cueVideoById(this.pendingVideoId);this.pendingVideoId=""}this.fire("google-youtube-ready",e)}.bind(this),onStateChange:function(e){this.state=e.data;if(this.state==1){this.playbackstarted=true;this.playsupported=true;this.duration=this.player.getDuration();this.durationformatted=this.toHHMMSS(this.duration);if(!this.updatePlaybackStatsInterval){this.updatePlaybackStatsInterval=setInterval(this.updatePlaybackStats.bind(this),1e3)}}else{if(this.updatePlaybackStatsInterval){clearInterval(this.updatePlaybackStatsInterval);this.updatePlaybackStatsInterval=null}}this.fire("google-youtube-state-change",e)}.bind(this),onError:function(e){this.state=0;this.fire("google-youtube-error",e)}.bind(this)}})},updatePlaybackStats:function(){this.currenttime=Math.round(this.player.getCurrentTime());this.currenttimeformatted=this.toHHMMSS(this.currenttime);this.fractionloaded=this.player.getVideoLoadedFraction()},toHHMMSS:function(totalSeconds){var hours=Math.floor(totalSeconds/3600);totalSeconds-=hours*3600;var minutes=Math.floor(totalSeconds/60);var seconds=Math.round(totalSeconds-minutes*60);var hourPortion="";if(hours>0){hourPortion+=hours+":";if(minutes<10){minutes="0"+minutes}}if(seconds<10){seconds="0"+seconds}return hourPortion+minutes+":"+seconds
},handleThumbnailTap:function(){this.autoplay=1;this.thumbnail=""}});Polymer("google-js-api",{defaultUrl:"https://apis.google.com/js/api.js?onload=%%callback%%",notifyEvent:"js-api-load"});Polymer("google-client-api",{loadClient:function(){gapi.load("client",function(){this.fire(this.notifyEvent,arguments)}.bind(this))},notifyEvent:"api-load",get api(){return gapi.client},get auth(){return gapi.auth}});(function(){"use strict";var clientLoaded_=false;var statuses_={};var loaders_={};Polymer("google-api-loader",{name:"",version:"",appId:null,root:null,waiting:false,successEventName:"google-api-load",errorEventName:"google-api-load-error",get api(){if(window.gapi&&window.gapi.client&&window.gapi.client[this.name]){return window.gapi.client[this.name]}else{return undefined}},handleLoadResponse:function(response){if(response&&response.error){statuses_[this.name]="error";this.fireError(response)}else{statuses_[this.name]="loaded";this.fireSuccess()}},fireSuccess:function(){this.fire(this.successEventName,{name:this.name,version:this.version})},fireError:function(response){if(response&&response.error){this.fire(this.errorEventName,{name:this.name,version:this.version,error:response.error})}else{this.fire(this.errorEventName,{name:this.name,version:this.version})}},doneLoadingClient:function(){clientLoaded_=true;if(!this.waiting){this.loadApi()}},createSelfRemovingListener:function(eventName){var handler=function(){loaders_[this.name].removeEventListener(eventName,handler);this.loadApi()}.bind(this);return handler},loadApi:function(){if(clientLoaded_&&this.name&&this.version){this.waiting=false;if(statuses_[this.name]=="loaded"){this.fireSuccess()}else if(statuses_[this.name]=="loading"){this.waiting=true;loaders_[this.name].addEventListener(this.successEventName,this.createSelfRemovingListener(this.successEventName));loaders_[this.name].addEventListener(this.errorEventName,this.createSelfRemovingListener(this.errorEventName))}else if(statuses_[this.name]=="error"){this.fireError()}else{var root;if(this.root){root=this.root}else if(this.appId){root="https://"+this.appId+".appspot.com/_ah/api"}statuses_[this.name]="loading";loaders_[this.name]=this;gapi.client.load(this.name,this.version,this.handleLoadResponse.bind(this),root)}}}})})();(function(){var AUTH_ENDPOINT="api/v1/auth";Polymer("google-signin",{publish:{clientId:null,scopes:null,signedIn:false,user:null,load:false},created:function(){if(window.ENV==="dev"||location.hostname==="localhost"){this.cookiePolicy="single_host_origin"}else{this.cookiePolicy=location.protocol+"//"+location.host}this.signinChangedHandler_=this.signinChangedHandler.bind(this)},onLoadAuth:function(e,detail,sender){gapi.load("auth2",function(){this.auth2=gapi.auth2.init({client_id:this.clientId,scope:this.scopes,fetch_basic_profile:true,cookie_policy:this.cookiePolicy});this.auth2.isSignedIn.listen(this.signinChangedHandler_)}.bind(this))},signIn:function(){if(!this.auth2||this.auth2.isSignedIn.get()){return}this.auth2.grantOfflineAccess({redirect_uri:"postmessage"}).then(function(resp){this.oneTimeCode=resp.code}.bind(this),this.onSignInError)},signOut:function(){this.auth2.signOut().then(undefined,this.onSignInError.bind(this))},signinChangedHandler:function(signedIn){this.signedIn=signedIn;this.currentUser=this.auth2.currentUser.get();var token=this.currentUser.getAuthResponse();if(this.signedIn){var profile=this.currentUser.getBasicProfile();this.user={id:profile.getId(),name:profile.getName(),picture:profile.getImageUrl()||"images/schedule/profile_placeholder.png",email:profile.getEmail(),tokenResponse:token};if(this.oneTimeCode){this.sendCodeToServer(this.oneTimeCode,function(){this.fire("signin-change",{signedIn:true,user:this.user})}.bind(this));this.oneTimeCode=null}else{this.fire("signin-change",{signedIn:true,user:this.user})}}else{this.user=null;this.signedIn=false;this.fire("signin-change",{signedIn:false,user:null})}},sendCodeToServer:function(oneTimeCode,opt_callback){var xhr=new XMLHttpRequest;xhr.open("POST",AUTH_ENDPOINT);var token=this.auth2.currentUser.get().getAuthResponse();xhr.setRequestHeader("Authorization","Bearer "+(token.id_token||token.access_token));xhr.setRequestHeader("Content-Type","application/json");xhr.onload=function(e){if(e.target.status===200){opt_callback&&opt_callback()}else{this.signOut();if(e.target.status===498){this.auth2.disconnect()}this.fire("signin-fail",{error:"Server-side auth failed with "+e.target.status,oneTimeCodeFail:true})}}.bind(this);xhr.send(JSON.stringify({code:oneTimeCode}))},onSignInError:function(error){console.error(error)}})})();Polymer("io-logo",{year:(new Date).getFullYear()%2e3,height:165,width:312,page:null,SHOW_FOR:450,START_DELAY:350,destination:null,masthead:null,backgroundTarget:null,hideMasthead:false,ready:function(){this.heightChanged();this.widthChanged()},attached:function(){this.start()},heightChanged:function(){this.style.height=parseInt(this.height)+"px"},widthChanged:function(){this.style.width=parseInt(this.width)+"px"},start:function(){var DURATION=350;var offset=DURATION/(DURATION+this.SHOW_FOR/2);var animation=[{transform:"scale(0)",easing:"cubic-bezier(0,0,0.21,1)"},{transform:"scale(1)",offset:offset},{transform:"scale(1)"}];var player=this.$.o2.animate(animation,{delay:this.START_DELAY,duration:DURATION+this.SHOW_FOR/2,iterations:2,direction:"alternate"});player.onfinish=this.moveLogo.bind(this)},moveLogo:function(){this.backgroundTarget=this.parentElement.querySelector("[iologobackground]");this.masthead=document.querySelector(".masthead");this.destination=document.querySelector("[iologodestination]");this.fab=document.querySelector(".fab:not([hidden])");if(this.hideMasthead){this.backgroundTarget.style.opacity=0}if(!(this.destination&&this.fab&&this.masthead)){var observer=new PathObserver(IOWA.Elements,"FAB");observer.open(function(fab,oldValue){if(fab){this.moveLogo()}}.bind(this));return}var current=this.getBoundingClientRect();var dest=this.destination.getBoundingClientRect();var mast=this.masthead.getBoundingClientRect();var fabMetrics=this.fab.getBoundingClientRect();var containerWidth=document.documentElement.clientWidth;var containerHeight=document.documentElement.clientHeight;var diffX=dest.left-current.left;var diffY=dest.top-current.top;var isMobileSize=containerWidth<=769;if(!isMobileSize){diffY-=62;scale=.18}this.fab.style.zIndex=getComputedStyle(this.parentElement).zIndex+1;var animationProps={duration:500,fill:"forwards",easing:"cubic-bezier(0,0,0.21,1)"};var mastheadY=Math.max(containerHeight-mast.height,0);var mastheadClipAnimation=new Animation(this.backgroundTarget,[{transform:"translateY(0)"},{transform:"translateY(-"+mastheadY+"px)"}],animationProps);var fabAnimation=new Animation(this.fab,[{transform:"translateY("+(mastheadY+fabMetrics.height/2)+"px)"},{transform:"translateY(0)"}],{duration:IOWA.Util.isSafari()?0:485,easing:"cubic-bezier(0,0,0.21,1)"});if(isMobileSize){this.fab.style.transform="translateY("+(mastheadY+fabMetrics.height/2)+"px)";var animations=new AnimationSequence([new Animation(this,[{opacity:1},{opacity:0}],{duration:300,fill:"forwards",easing:"cubic-bezier(0,0,0.21,1)"})])}else{var animations=new AnimationGroup([mastheadClipAnimation,fabAnimation,new Animation(this,[{transform:"none"},{transform:"translate3d("+diffX+"px,"+diffY+"px,0) scale("+scale+")"}],animationProps)])}var player=document.timeline.play(animations);player.onfinish=function(e){var el=this.parentElement;if(isMobileSize){document.timeline.play(new AnimationGroup([fabAnimation,mastheadClipAnimation])).onfinish=function(e){this.fab.style.transform="none";if(this.fab.localName==="experiment-fab-container"){this.fab.style.zIndex="auto"}else{this.fab.style.zIndex="3"}el.parentElement.removeChild(el);this.fire("io-logo-animation-done")}.bind(this)}else{if(this.fab.localName==="experiment-fab-container"){this.fab.style.zIndex="auto"}else{this.fab.style.zIndex="3"}el.parentElement.removeChild(el);this.fire("io-logo-animation-done")}}.bind(this)}});(function(){var currentToast;Polymer("paper-toast",{text:"",duration:3e3,opened:false,responsiveWidth:"480px",swipeDisabled:false,autoCloseDisabled:false,narrowMode:false,eventDelegates:{trackstart:"trackStart",track:"track",trackend:"trackEnd",transitionend:"transitionEnd"},narrowModeChanged:function(){this.classList.toggle("fit-bottom",this.narrowMode);if(this.opened){this.$.overlay.resizeHandler()}},openedChanged:function(){if(this.opened){this.dismissJob=this.job(this.dismissJob,this.dismiss,this.duration)}else{this.dismissJob&&this.dismissJob.stop();this.dismiss()}},toggle:function(){this.opened=!this.opened},show:function(){if(currentToast){currentToast.dismiss()}currentToast=this;this.opened=true},dismiss:function(){if(this.dragging){this.shouldDismiss=true}else{this.opened=false;if(currentToast===this){currentToast=null}}},trackStart:function(e){if(!this.swipeDisabled){e.preventTap();this.vertical=e.yDirection;this.w=this.offsetWidth;this.h=this.offsetHeight;this.dragging=true;this.classList.add("dragging")}},track:function(e){if(this.dragging){var s=this.style;if(this.vertical){var y=e.dy;s.opacity=(this.h-Math.abs(y))/this.h;s.transform=s.webkitTransform="translate3d(0, "+y+"px, 0)"}else{var x=e.dx;s.opacity=(this.w-Math.abs(x))/this.w;s.transform=s.webkitTransform="translate3d("+x+"px, 0, 0)"}}},trackEnd:function(e){if(this.dragging){this.classList.remove("dragging");this.style.opacity="";this.style.transform=this.style.webkitTransform="";var cl=this.classList;if(this.vertical){cl.toggle("fade-out-down",e.yDirection===1&&e.dy>0);cl.toggle("fade-out-up",e.yDirection===-1&&e.dy<0)}else{cl.toggle("fade-out-right",e.xDirection===1&&e.dx>0);cl.toggle("fade-out-left",e.xDirection===-1&&e.dx<0)}this.dragging=false}},transitionEnd:function(){var cl=this.classList;if(cl.contains("fade-out-right")||cl.contains("fade-out-left")||cl.contains("fade-out-down")||cl.contains("fade-out-up")){this.dismiss();cl.remove("fade-out-right","fade-out-left","fade-out-down","fade-out-up")}else if(this.shouldDismiss){this.dismiss()}this.shouldDismiss=false}})})();Polymer("io-toast",{tapHandler_:null,actionHandler_:null,listeners_:null,action:null,handledAction_:false,created:function(){this.listeners_=[]},detached:function(){this.listeners_.forEach(function(listener){listener.target.removeEventListener(listener.eventType,listener.handler)})},actionChanged:function(){this.textContent=this.action?this.action:null},listen:function(el,eventType,messageFieldName){var handler=function(e){this.text=e.detail[messageFieldName];this.show()}.bind(this);el.addEventListener(eventType,handler);this.listeners_.push({target:el,eventType:eventType,handler:handler})},showMessage:function(message,opt_tapHandler,opt_action,opt_actionHandler){this.text=message;this.tapHandler_=opt_tapHandler;this.action=opt_action;this.actionHandler_=opt_actionHandler;this.show();this.fire("toast-message",{message:message})},handleTap:function(){if(typeof this.tapHandler_=="function"&&!this.handledAction_){this.tapHandler_();this.dismiss()}this.handledAction_=false},handleAction:function(e){if(typeof this.actionHandler_=="function"){e.stopPropagation();this.actionHandler_();this.handledAction_=true;this.dismiss()}},handleOverlayClosed:function(){this.tapHandler_=null}});Polymer("io-radio-button",Polymer.mixin2({},Polymer.IOFocusable));Polymer("io-checkbox",Polymer.mixin2({},Polymer.IOFocusable));Polymer("paper-slider",{snaps:false,pin:false,disabled:false,secondaryProgress:0,editable:false,maxMarkers:100,dragging:false,observe:{"step snaps":"update"},ready:function(){this.update()},update:function(){this.positionKnob(this.calcRatio(this.value));this.updateMarkers()},minChanged:function(){this.update();this.setAttribute("aria-valuemin",this.min)},maxChanged:function(){this.update();this.setAttribute("aria-valuemax",this.max)},valueChanged:function(){this.update();this.setAttribute("aria-valuenow",this.value);this.fire("core-change")},disabledChanged:function(){if(this.disabled){this.removeAttribute("tabindex")}else{this.tabIndex=0}},immediateValueChanged:function(){if(!this.dragging){this.value=this.immediateValue}if(this.editable){this.$.input.value=this.immediateValue}this.fire("immediate-value-change")},expandKnob:function(){this.expand=true},resetKnob:function(){this.expandJob&&this.expandJob.stop();this.expand=false},positionKnob:function(ratio){this.immediateValue=this.calcStep(this.calcKnobPosition(ratio))||0;this._ratio=this.snaps?this.calcRatio(this.immediateValue):ratio;this.$.sliderKnob.style.left=this._ratio*100+"%"},inputChange:function(){this.value=this.$.input.value;this.fire("change")},calcKnobPosition:function(ratio){return(this.max-this.min)*ratio+this.min},trackStart:function(e){this._w=this.$.sliderBar.offsetWidth;this._x=this._ratio*this._w;this._startx=this._x||0;this._minx=-this._startx;this._maxx=this._w-this._startx;this.$.sliderKnob.classList.add("dragging");this.dragging=true;e.preventTap()},trackx:function(e){var x=Math.min(this._maxx,Math.max(this._minx,e.dx));this._x=this._startx+x;this.immediateValue=this.calcStep(this.calcKnobPosition(this._x/this._w))||0;var s=this.$.sliderKnob.style;s.transform=s.webkitTransform="translate3d("+(this.snaps?this.calcRatio(this.immediateValue)*this._w-this._startx:x)+"px, 0, 0)"},trackEnd:function(){var s=this.$.sliderKnob.style;s.transform=s.webkitTransform="";this.$.sliderKnob.classList.remove("dragging");this.dragging=false;this.resetKnob();this.value=this.immediateValue;this.fire("change")},knobdown:function(e){e.preventDefault();this.expandKnob()},bardown:function(e){e.preventDefault();this.transiting=true;this._w=this.$.sliderBar.offsetWidth;var rect=this.$.sliderBar.getBoundingClientRect();var ratio=(e.x-rect.left)/this._w;this.positionKnob(ratio);this.expandJob=this.job(this.expandJob,this.expandKnob,60);this.asyncFire("change")},knobTransitionEnd:function(e){if(e.target===this.$.sliderKnob){this.transiting=false}},updateMarkers:function(){this.markers=[];var l=(this.max-this.min)/this.step;if(!this.snaps&&l>this.maxMarkers){return}for(var i=0;i<l;i++){this.markers.push("")}},increment:function(){this.value=this.clampValue(this.value+this.step)},decrement:function(){this.value=this.clampValue(this.value-this.step)},incrementKey:function(ev,keys){if(keys.key==="end"){this.value=this.max}else{this.increment()}this.fire("change")},decrementKey:function(ev,keys){if(keys.key==="home"){this.value=this.min}else{this.decrement()}this.fire("change")}});Polymer("io-slider",Polymer.mixin2({},Polymer.IOFocusable));Polymer("core-scroll-threshold",{publish:{scrollTarget:null,orient:"v",upperThreshold:null,lowerThreshold:null,upperTriggered:false,lowerTriggered:false},observe:{"upperThreshold lowerThreshold scrollTarget orient":"setup"},ready:function(){this._boundScrollHandler=this.checkThreshold.bind(this)},detached:function(){if(this._scrollTarget){this._scrollTarget.removeEventListener("scroll",this._boundScrollHandler)}},setup:function(){var target=this.scrollTarget||this;if(this._scrollTarget&&this._scrollTarget!=target){this._scrollTarget.removeEventListener("scroll",this._boundScrollHandler)}if(target){this._scrollTarget=target;this._scrollTarget.addEventListener("scroll",this._boundScrollHandler)}this.style.overflow=target==this?"auto":null;this.scrollPosition=this.orient=="v"?"scrollTop":"scrollLeft";this.sizeExtent=this.orient=="v"?"offsetHeight":"offsetWidth";this.scrollExtent=this.orient=="v"?"scrollHeight":"scrollWidth";if(!this.upperThreshold){this.upperTriggered=false}if(!this.lowerThreshold){this.lowerTriggered=false}},checkThreshold:function(e){var top=this._scrollTarget[this.scrollPosition];if(!this.upperTriggered&&this.upperThreshold!==null){if(top<this.upperThreshold){if(this.lowerThreshold===null||this.lowerTriggered){this._scrollTarget.removeEventListener("scroll",this._boundScrollHandler)}this.upperTriggered=true;this.fire("upper-trigger")}}if(!this.lowerTriggered&&this.lowerThreshold!==null){var bottom=top+this._scrollTarget[this.sizeExtent];var size=this._scrollTarget[this.scrollExtent];if(size-bottom<this.lowerThreshold){if(this.upperThreshold===null||this.upperTriggered){this._scrollTarget.removeEventListener("scroll",this._boundScrollHandler)}this.lowerTriggered=true;this.fire("lower-trigger")}}},clearUpper:function(waitForMutation){if(waitForMutation){this._waitForMutation(function(){this.clearUpper()}.bind(this))}else{this.async(function(){this.upperTriggered=false;this._scrollTarget.addEventListener("scroll",this._boundScrollHandler)})}},clearLower:function(waitForMutation){if(waitForMutation){this._waitForMutation(function(){this.clearLower()}.bind(this))}else{this.async(function(){this.lowerTriggered=false;this._scrollTarget.addEventListener("scroll",this._boundScrollHandler)})}},_waitForMutation:function(listener){var observer=new MutationObserver(function(mutations){listener.call(this,observer,mutations);observer.disconnect()}.bind(this));observer.observe(this._scrollTarget,{attributes:true,childList:true,subtree:true})}});(function(){Polymer("countdown-timer",{timer:null,date:"Mar 10 2015 09:00:00 GMT-0700 (PDT)",dateAdjustment:3,easeInTime:500,waitTime:300,easeOutTime:400,autoStart:false,value:null,publish:{ended:{value:false,reflect:true}},stop:function(){this.timer.stop()},start:function(){this.timer.start()},dateChanged:function(){if(!this.timer)return;this.configureTimer_();this.timer.drawIfAnimationIsNotRunning()},dateAdjustmentChanged:function(){if(!this.timer)return;this.configureTimer_();this.timer.drawIfAnimationIsNotRunning()},easeInTimeChanged:function(){if(!this.timer)return;this.configureTimer_();this.timer.drawIfAnimationIsNotRunning()},easeOutTimeChanged:function(){if(!this.timer)return;this.configureTimer_();this.timer.drawIfAnimationIsNotRunning()},waitTimeChanged:function(){if(!this.timer)return;this.configureTimer_();this.timer.drawIfAnimationIsNotRunning()},created:function(){this.thresholdInformation={thresholdDays:false,thresholdHours:false,thresholdMinutes:false,thresholdSeconds:false}},ready:function(){IOWA.CountdownTimer.Colors.Background=this.bgColor},reset:function(){this.configureTimer_();this.timer.drawIfAnimationIsNotRunning()},show:function(){if(!this.timer)return;this.style.opacity=0;this.async(function(){this.timer.resizeRenderer();this.style.opacity=1},null,600)},bgColorChanged:function(){IOWA.CountdownTimer.Colors.Background=this.bgColor},attached:function(){this.timer=new IOWA.CountdownTimer.Element(this.$.surface);this.configureTimer_();this.timer.setOnTimerThresholdReachedCallback(this.onTimerThresholdReached_.bind(this));this.timer.setOnTimerTickCallback(this.onTimerTick.bind(this))},detached:function(){this.timer.destroy()},domReady:function(){if(!this.autoStart){this.timer.drawIfAnimationIsNotRunning();var THRESHOLD_ADJUSTMENT=100;var elementRect=this.getBoundingClientRect();var thresholdValue=IOWA.Elements.ScrollContainer.scrollHeight-Math.round(elementRect.bottom)+THRESHOLD_ADJUSTMENT;this.lowerThreshold=thresholdValue;this.$.threshold.scrollTarget=IOWA.Elements.ScrollContainer;return}this.start();this.show()},thresholdInformation:null,onTimerThresholdReached_:function(thresholdInformation){this.thresholdInformation={thresholdDays:false,thresholdHours:false,thresholdMinutes:false,thresholdSeconds:false};switch(thresholdInformation.label){case"Days":this.thresholdInformation.thresholdDays=true;break;case"Hours":this.thresholdInformation.thresholdHours=true;break;case"Minutes":this.thresholdInformation.thresholdMinutes=true;break;case"Seconds":this.thresholdInformation.thresholdSeconds=true;break}if(thresholdInformation.millisecondsToTarget===0){this.ended=true;thresholdInformation.ended=true}this.fire("timerthreshold",thresholdInformation)},onTimerTick:function(currentValue){this.value=currentValue},configureTimer_:function(){if(!this.timer)return;var targetDate=Date.parse(this.date);if(isNaN(targetDate)){targetDate=Date.now()}targetDate=new Date(targetDate);this.timer.configure({targetDate:targetDate,adjustmentInDays:this.dateAdjustment,easeInTime:this.easeInTime,waitTime:this.waitTime,easeOutTime:this.easeOutTime})}})})();Polymer("social-poller",{publish:{url:"api/v1/social",interval:30*1e3,posts:{value:null,reflect:true},_updateSocialPostsTimeout:null},created:function(){this.posts=[]},ready:function(){var callback=this._processSocialPosts.bind(this);IOWA.Request.cacheThenNetwork(this.url,callback,callback);this._updateSocialPostsTimeout=setTimeout(this.updateSocialPosts.bind(this),this.interval)},detached:function(){if(this._updateSocialPostsTimeout){window.clearTimeout(this._updateSocialPostsTimeout)}},updateSocialPosts:function(){var xhr=new XMLHttpRequest;xhr.open("GET",this.url);xhr.setRequestHeader("X-Cache-Only","false");xhr.onload=function(){if(xhr.status<400){this._processSocialPosts(JSON.parse(xhr.response));this._updateSocialPostsTimeout=setTimeout(this.updateSocialPosts.bind(this),this.interval)}}.bind(this);xhr.send()},_processSocialPosts:function(socialPosts){this.posts=socialPosts}});(function(){var proto={label:null,eventDelegates:{"core-resize":"positionChanged"},computed:{hasTooltipContent:"label || !!tipElement"},publish:{show:{value:false,reflect:true},position:{value:"bottom",reflect:true},noarrow:{value:false,reflect:true}},tipAttribute:"tip",attached:function(){this.updatedChildren();this.resizableAttachedHandler()},detached:function(){this.resizableDetachedHandler()},updatedChildren:function(){this.tipElement=null;for(var i=0,el;el=this.$.c.getDistributedNodes()[i];++i){if(el.hasAttribute&&el.hasAttribute(this.tipAttribute)){this.tipElement=el;break}}this.job("positionJob",this.setPosition);this.onMutation(this,this.updatedChildren)},labelChanged:function(oldVal,newVal){this.job("positionJob",this.setPosition)},positionChanged:function(oldVal,newVal){this.job("positionJob",this.setPosition)},setPosition:function(){var controlWidth=this.clientWidth;var controlHeight=this.clientHeight;var toolTipWidth=this.$.tooltip.clientWidth;var toolTipHeight=this.$.tooltip.clientHeight;switch(this.position){case"top":case"bottom":this.$.tooltip.style.left=(controlWidth-toolTipWidth)/2+"px";this.$.tooltip.style.top=null;break;case"left":case"right":this.$.tooltip.style.left=null;this.$.tooltip.style.top=(controlHeight-toolTipHeight)/2+"px";break}}};Polymer.mixin2(proto,Polymer.CoreFocusable);Polymer.mixin(proto,Polymer.CoreResizable);Polymer("core-tooltip",proto)})();Polymer("experiment-fab",{publish:{recording:{value:false,reflect:true}}});Polymer("experiment-loading-circle",{ready:function(){this.style.backgroundImage='url("'+window.experiment.assets.loadingExpImg+'")'}});Polymer("experiment-loading-dialog",{publish:{supported:{value:false,reflect:true},unsupported:{value:false,reflect:true},expLoaded:{value:false,reflect:true},failed:{value:false,reflect:true}},ready:function(){this.dialogSupportedImage='url("'+window.experiment.assets.headphonesImg+'")';this.dialogUnsupportedImage='url("'+window.experiment.assets.unsupportedImg+'")'},onExperimentOff:function(){this.fire("experiment-cancel")},onExperimentOn:function(){this.fire("experiment-load")}});Polymer("experiment-overlay",{});Polymer("experiment-share-fab",{});Polymer("experiment-share-dialog",{publish:{active:{value:false,reflect:true}},gplusTrack:function(){IOWA.Analytics.trackEvent("experiment","G Plus share")},twitterTrack:function(){IOWA.Analytics.trackEvent("experiment","Twitter share")},facebookTrack:function(){IOWA.Analytics.trackEvent("experiment","Facebook share")},linkCopy:function(){IOWA.Analytics.trackEvent("experiment","Link copied")},linkSelect:function(){this.$.urlInput.selectionStart=0;this.$.urlInput.selectionEnd=this.$.urlInput.value.length},encodeURI:function(uri){return encodeURIComponent(uri)},shareOff:function(){this.fire("share-cancel")}});Polymer("experiment-reset-fab",{});Polymer("experiment-exit-fab",{});Polymer("experiment-fab-container",{publish:{mode:{value:"pre",reflect:true},playmode:{value:null,reflect:true},fixed:{value:"unfixed",reflect:true},direction:{value:"upwards",reflect:true},mini:{reflect:true,value:false},dialogAnimateDirection:{value:"animate-up",reflect:true},showTooltips:{value:false,reflect:true},recordmode:{value:"notRecording",reflect:true},loadingCircleHidden:{value:false,reflect:true}},eventDelegates:{"experiment-cancel":"experimentOff","experiment-load":"experimentOn","share-cancel":"onShareCancel"},ready:function(){this.isExperimentOpen=false;this.bindEscape=this.onEscKeyUp.bind(this);this.assets=window.experiment.assets},attached:function(){this.boundOnScroll=this.onScroll.bind(this);this.scrollFabPos=this.getBoundingClientRect();this.viewport=document.querySelector("meta[name=viewport]")},onFabClick:function(event){document.addEventListener("keyup",this.bindEscape);var DIALOG_HEIGHT=480;var VIEWPORT_HEIGHT=window.innerHeight;var fabPos=this.getBoundingClientRect();if(fabPos.top<DIALOG_HEIGHT){this.dialogAnimateDirection="animate-down"}else{this.dialogAnimateDirection="animate-up"}if(fabPos.top>VIEWPORT_HEIGHT/2){this.direction="upwards"}else{this.direction="downwards"}this.dialogVisible=true;IOWA.Analytics.trackEvent("experiment","activate","experiment fab clicked");if(experiment.canLoad()){this.experimentFailed=false;this.experimentSupported=true;this.loadingCircleHidden=false;experiment.load(45e3).then(function(app){console.log("Experiment loaded successfully.");this.app=app;this.app.unlockOnMobile();this.experimentLoaded=true}.bind(this),function(){this.experimentSupported=false;this.experimentFailed=true;console.log("Experiment failed for some unknown reason. Perhaps user is offline?");IOWA.Analytics.trackEvent("experiment","error","failed to load")}.bind(this))}else{console.log("Experiment is unsupported.");this.experimentFailed=false;this.experimentSupported=false;this.experimentUnsupported=true;IOWA.Analytics.trackEvent("experiment","unsupported","experiment not supported")}},onEscKeyUp:function(event){if(event.keyCode===27){this.dialogVisible=false}},experimentOff:function(event){this.dialogVisible=false;this.loadingCircleHidden=true;this.fixed=="unfixed";document.removeEventListener("keyup",this.bindEscape);IOWA.Elements.ScrollContainer.removeEventListener("scroll",this.boundOnScroll)},experimentOn:function(event){this.isExperimentOpen=true;IOWA.Elements.Footer.style.display="none";this.dialogVisible=false;document.removeEventListener("keyup",this.bindEscape);this.async(function(){var rect=this.getBoundingClientRect();var top=rect.top+rect.height/2;var left=rect.left+rect.width/2;this.app.start(".js-experiment-instrument",".js-experiment-visualizer",[left,top]).then(function(){IOWA.Elements.Masthead.style.visibility="hidden";IOWA.Elements.Main.style.visibility="hidden"});IOWA.Analytics.trackEvent("experiment","start","experiment started");this.startTime=+new Date;IOWA.Elements.ScrollContainer.addEventListener("scroll",this.boundOnScroll);this.playmode="playing";this.mode="active";this.viewport.setAttribute("content","width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1, user-scalable=0")},null,300);this.app.didRequestExit(function(){this.onExitClick()}.bind(this));this.app.didEnterRecordingMode(function(){if(!this.isExperimentOpen){return}this.recording=true;this.miniFabs=false;this.shareVisible=false;this.recordmode="recording"}.bind(this));this.app.didExitRecordingMode(function(){if(!this.isExperimentOpen){return}this.recording=false;this.recordmode="notRecording"}.bind(this))},onExitClick:function(event){this.exitExperiment();this.trackExitExperiment()},exitExperiment:function(event){this.isExperimentOpen=false;IOWA.Elements.ScrollContainer.removeEventListener("scroll",this.boundOnScroll);IOWA.Elements.Masthead.style.visibility="";IOWA.Elements.Main.style.visibility="";IOWA.Elements.Footer.style.display="";if(this.startTime){IOWA.Analytics.trackEvent("experiment","time-total",+new Date-this.startTime)}var rect=this.getBoundingClientRect();var top=rect.top+rect.height/2;var left=rect.left+rect.width/2;this.app.tearDown([left,top]).then(function(){this.fixed="unfixed"}.bind(this));this.mode="pre";this.playmode=null;this.recording=false;this.recordmode="notRecording";this.miniFabs=false;this.showTooltips=false;this.pauseOverlay=false;this.viewport.setAttribute("content","width=device-width, minimum-scale=1.0, initial-scale=1")},trackExitExperiment:function(event){IOWA.Analytics.trackEvent("experiment","close","from main x")},resetExperiment:function(event){IOWA.Analytics.trackEvent("experiment","refresh","experiment reset");this.app.reloadData()},onScroll:function(event){if(IOWA.Elements.ScrollContainer.scrollTop>=this.scrollFabPos.top-30){this.fixed="fixed"}else if(IOWA.Elements.ScrollContainer.scrollTop<=this.scrollFabPos.top-30){this.fixed="unfixed"}},onOverlayClose:function(event){this.dialogVisible=false;this.showTooltips=false},onShareClick:function(event){this.shareVisible=true;this.showTooltips=false;IOWA.Analytics.trackEvent("experiment","share","share fab clicked")},onShareCancel:function(event){this.shareVisible=false;this.showTooltips=true},playingFabClick:function(event){var VIEWPORT_HEIGHT=window.innerHeight;var fabPos=this.getBoundingClientRect();if(fabPos.top>VIEWPORT_HEIGHT/2){this.direction="upwards"}else{this.direction="downwards"}this.playmode="paused";this.pauseOverlay=true;this.miniFabs=true;this.showTooltips=true;this.app.pause();Promise.all([this.app.serialize("gplus"),this.app.serialize("twitter"),this.app.serialize("facebook"),this.app.serialize("copiedURL")]).then(function(results){this.gplusShare=results[0];this.twitterShare=results[1];this.facebookShare=results[2];this.copiedURLShare=results[3]}.bind(this))},pausedFabClick:function(event){this.playmode="playing";this.pauseOverlay=false;this.miniFabs=false;this.showTooltips=false;this.shareVisible=false;this.app.play()}});Polymer("social-post",{publish:{kind:"tweet",author:"",url:"",text:"",when:"",hideAuthor:false,media:null},twitterUrlRegex:/(https?:\/\/t\.co\/\w+)/,authorChanged:function(){if(this.kind=="tweet"){this.profileUrl="https://twitter.com/"+this.author.slice(1)}},textChanged:function(){if(this.kind=="tweet"){while(this.$.postContent.firstChild){this.$.postContent.removeChild(this.$.postContent.firstChild)}var fragments=this.text.split(this.twitterUrlRegex);fragments.forEach(function(fragment){var childElement;if(this.twitterUrlRegex.test(fragment)){childElement=document.createElement("a");childElement.target="_blank";childElement.href=fragment;childElement.textContent=fragment}else{childElement=document.createElement("span");childElement.textContent=fragment}this.$.postContent.appendChild(childElement)}.bind(this))}},whenChanged:function(){var delta=Math.floor((Date.now()-new Date(this.when))/(60*1e3));if(delta<1){this.timeAgo="less than a minute ago"}else if(delta<60){this.timeAgo=delta+(delta==1?" minute ago":" minutes ago")}else if(delta<24*60){delta=Math.floor(delta/60);this.timeAgo=delta+(delta==1?" hour ago":" hours ago")}else{delta=Math.floor(delta/(24*60));this.timeAgo=delta+(delta==1?" day ago":" days ago")}}});(function(){var ShaderProgram=IOWA.WebglGlobe.ShaderProgram;var Matrix4x4=IOWA.WebglGlobe.Matrix4x4;var generateGeometry=IOWA.WebglGlobe.generateGeometry;var generateIndexArray=IOWA.WebglGlobe.generateIndexArray;var getSolarPosition=IOWA.WebglGlobe.getSolarPosition;var generateSpriteGeometry=IOWA.WebglGlobe.generateSpriteGeometry;var generateSpriteIndexArray=IOWA.WebglGlobe.generateSpriteIndexArray;var KdTree=IOWA.WebglGlobe.KdTree;var IS_IOS=/(iPhone|iPad|iPod)/gi.test(navigator.platform);var MARKER_COLOR=new Float32Array([.933,1,.255]);var HIGHLIGHTED_MARKER_COLOR=new Float32Array([0,.898,1]);var nowish=window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now;var tmpTransform0=new Matrix4x4;var tmpTransform1=new Matrix4x4;var tmpTransform2=new Matrix4x4;var tmp3Vec0=new Float32Array(3);var tmp3Vec1=new Float32Array(3);var tmp3Vec2=new Float32Array(3);
var tmpPicking4Vec=new Float32Array(4);ES6Promise.polyfill();Polymer("webgl-globe",{noDraw:false,noInit:false,attractLoop:false,markers:null,highlightedMarker:-1,cameraDistance:2,fov:Math.PI/3,offsetY:0,scrollTarget:null,scrollTriggered:false,transitionDuration:4e3,webglSupported:"WebGLRenderingContext"in window,scrollThreshold_:-Number.MAX_VALUE,webglStarted_:false,webglReady_:false,transitionStart_:-Number.MAX_VALUE,globeProgram:null,globeArrayBuffer:null,globeIndexBuffer:null,markerProgram_:null,markerSize_:.0075,markerHoverScale_:1.5,markerArrayBuffer_:null,markerIndexBuffer_:null,markerDrawCount_:0,markerHoverArrayBuffer_:null,markerHoverIndexBuffer_:null,markerTree_:null,projectionTransform_:null,gl:null,animate_:true,updateRequestId_:0,globeDrawCount:0,globeCubeMap:null,nightCubeMap:null,MAX_PERF_TIMEOUT_:1e3,divisions_:16,resizeNeeded_:true,canvasWidth_:300,canvasHeight_:150,mouseClicked_:false,lastClickX_:-1,lastClickY:-1,mouseOver_:false,lastOverX_:-1,lastOverY_:-1,lastHoveredIndex_:-1,attractLocationChange_:false,attractLoopCancelled_:false,restartAttractLoop_:false,canvasResized:function(){this.resizeNeeded_=true;this.scheduleUpdate_()},created:function(){this.location={lat:0,lng:0};this.projectionTransform_=new Matrix4x4;this.locationTarget={lat:0,lng:0};this.previousLocation_={lat:0,lng:0};this.currentLocation_={lat:0,lng:0};this.resizeCallback_=this.canvasResized.bind(this);this.boundUpdate_=this.update_.bind(this)},attached:function(){this.loadingTextures_=this.loadCubeMapTextures_("albedo",1024,".jpg");this.loadingNightTextures_=this.loadCubeMapTextures_("night",1024,".png");this.loadingShaders_=this.loadShaders_();if(!this.noInit){this.async(this.initWebgl_)}},domReady:function(){if(this.scrollTarget){this.animate_=false;var elementRect=this.getBoundingClientRect();this.scrollThreshold_=this.scrollTarget.scrollHeight-Math.round((elementRect.bottom+elementRect.top)/2)}},detached:function(){this.animate_=false;window.cancelAnimationFrame(this.updateRequestId_);this.updateRequestId_=0;window.removeEventListener("resize",this.resizeCallback_)},noInitChanged:function(){if(!this.noInit){this.initWebgl_()}},noDrawChanged:function(){if(this.noDraw){window.cancelAnimationFrame(this.updateRequestId_);this.updateRequestId_=0}else{this.async(this.scheduleUpdate_)}},scrollTriggeredChanged:function(){if(this.scrollTriggered){this.animate_=true;this.async(this.scheduleUpdate_)}},initWebgl_:function(){if(this.webglStarted_){return}this.webglStarted_=true;var contextOptions={depth:false};var canvas=this.$.canvas;var gl=canvas.getContext("webgl",contextOptions);if(!gl){gl=canvas.getContext("experimental-webgl",contextOptions);if(!gl){IOWA.Analytics.trackEvent("globe","webgl unsupported");this.webglSupported=false;this.fire("globe-webgl-init",{error:true});return}}this.gl=gl;window.addEventListener("resize",this.resizeCallback_);gl.enable(gl.CULL_FACE);gl.cullFace(gl.BACK);gl.blendFunc(gl.ONE,gl.ONE_MINUS_SRC_ALPHA);gl.getExtension("OES_standard_derivatives");var startTime=nowish();var globeGeometry=generateGeometry(this.divisions_);var globeIndices=generateIndexArray(this.divisions_);var endTime=nowish();IOWA.Analytics.trackPerf("globe","geometry creation",Math.ceil(endTime-startTime),null,this.MAX_PERF_TIMEOUT_);this.globeArrayBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,this.globeArrayBuffer);gl.bufferData(gl.ARRAY_BUFFER,globeGeometry,gl.STATIC_DRAW);this.globeIndexBuffer=gl.createBuffer();gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,this.globeIndexBuffer);gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,globeIndices,gl.STATIC_DRAW);this.globeDrawCount=globeIndices.length;var maxCubeSize=gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE);var cubeMapDowngradeRequired=maxCubeSize<1024;var processCubeMap=cubeMapDowngradeRequired?function(){return null}:this.initCubeMap_.bind(this);Promise.all([this.loadingShaders_,this.loadingTextures_.then(processCubeMap),this.loadingNightTextures_.then(processCubeMap)]).then(function assetsLoaded(assets){this.globeProgram=new ShaderProgram(this.gl,assets[0][0],assets[0][1]);this.globeProgram.use();gl.enableVertexAttribArray(this.globeProgram.attributes.coord);this.globeCubeMap=assets[1];gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_CUBE_MAP,this.globeCubeMap);this.nightCubeMap=assets[2];gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_CUBE_MAP,this.nightCubeMap);this.markerProgram_=new ShaderProgram(this.gl,assets[0][2],assets[0][3]);this.markerProgram_.use();this.loadingNightTextures_=null;this.loadingTextures_=null;this.loadingShaders_=null;this.webglReady_=true;if(this.markers){this.initMarkers_()}this.async(this.scheduleUpdate_);this.fire("globe-webgl-init",{error:false});if(cubeMapDowngradeRequired){return this.adjustCubemapResolution_(512)}}.bind(this)).catch(function(reason){IOWA.Analytics.trackError("globe initialization",reason);this.webglSupported=false;this.fire("globe-webgl-init",{error:true})})},loadShaders_:function(){return Promise.all(["shaders/globe.vert","shaders/globe.frag","shaders/marker.vert","shaders/marker.frag"].map(function(shaderUrl){var resolvedUrl=this.resolvePath(shaderUrl);return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("GET",resolvedUrl);xhr.onload=function(e){if(this.status===200){resolve(this.response)}else{reject(this.statusText)}};xhr.onerror=function(e){reject(this.statusText)};xhr.send()})},this))},loadCubeMapTextures_:function(prefix,size,extname){var globeFaces={"negative-x":34070,"negative-y":34072,"negative-z":34074,"positive-x":34069,"positive-y":34071,"positive-z":34073};return Promise.all(Object.keys(globeFaces).map(function(faceName){return new Promise(function(resolve,reject){var textureImage=new Image;textureImage.onload=function(){resolve({target:globeFaces[faceName],texture:textureImage})};textureImage.onerror=reject;var filename=prefix+"-"+size+"-"+faceName+extname;textureImage.src=this.resolvePath("textures/"+filename)}.bind(this))},this))},initCubeMap_:function(faceData){var gl=this.gl;var textureStartTime=nowish();var textureId=gl.createTexture();gl.bindTexture(gl.TEXTURE_CUBE_MAP,textureId);for(var i=0;i<faceData.length;i++){gl.texImage2D(faceData[i].target,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,faceData[i].texture)}gl.texParameteri(gl.TEXTURE_CUBE_MAP,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_CUBE_MAP,gl.TEXTURE_MIN_FILTER,gl.LINEAR_MIPMAP_LINEAR);gl.texParameteri(gl.TEXTURE_CUBE_MAP,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_CUBE_MAP,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.generateMipmap(gl.TEXTURE_CUBE_MAP);var filterExtension=gl.getExtension("EXT_texture_filter_anisotropic")||gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic")||gl.getExtension("MOZ_EXT_texture_filter_anisotropic");if(filterExtension){var maxAnisotropy=gl.getParameter(filterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT)||2;gl.texParameterf(gl.TEXTURE_CUBE_MAP,filterExtension.TEXTURE_MAX_ANISOTROPY_EXT,maxAnisotropy)}var textureEndTime=nowish();IOWA.Analytics.trackPerf("globe","cubemap creation",Math.ceil(textureEndTime-textureStartTime),null,this.MAX_PERF_TIMEOUT_);return textureId},adjustCubemapResolution_:function(requestedSize){return this.loadCubeMapTextures_("albedo",requestedSize,".jpg").then(this.initCubeMap_.bind(this)).then(function(newCubeMap){this.globeCubeMap=newCubeMap;this.gl.activeTexture(this.gl.TEXTURE0);this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,this.globeCubeMap);this.gl.activeTexture(this.gl.TEXTURE1);return this.loadCubeMapTextures_("night",requestedSize,".png")}.bind(this)).then(this.initCubeMap_.bind(this)).then(function(newNightCubeMap){this.nightCubeMap=newNightCubeMap;this.gl.activeTexture(this.gl.TEXTURE1);this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,this.nightCubeMap)}.bind(this))},initMarkers_:function(){var startTime=nowish();var gl=this.gl;var spriteGeometry=generateSpriteGeometry(this.markers,this.markerSize_);var spriteIndices=generateSpriteIndexArray(this.markers.length);this.markerArrayBuffer_=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,this.markerArrayBuffer_);gl.bufferData(gl.ARRAY_BUFFER,spriteGeometry,gl.STATIC_DRAW);this.markerIndexBuffer_=gl.createBuffer();gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,this.markerIndexBuffer_);gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,spriteIndices,gl.STATIC_DRAW);this.markerDrawCount_=spriteIndices.length;spriteGeometry=generateSpriteGeometry([{lat:0,lng:0}],this.markerSize_*this.markerHoverScale_);spriteIndices=generateSpriteIndexArray(1);this.markerHoverArrayBuffer_=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,this.markerHoverArrayBuffer_);gl.bufferData(gl.ARRAY_BUFFER,spriteGeometry,gl.STATIC_DRAW);this.markerHoverIndexBuffer_=gl.createBuffer();gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,this.markerHoverIndexBuffer_);gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,spriteIndices,gl.STATIC_DRAW);gl.enableVertexAttribArray(this.markerProgram_.attributes.coord);gl.enableVertexAttribArray(this.markerProgram_.attributes.uvCoord);gl.vertexAttribPointer(this.markerProgram_.attributes.coord,4,gl.FLOAT,false,28,0);gl.vertexAttribPointer(this.markerProgram_.attributes.uvCoord,2,gl.FLOAT,false,28,16);this.markerTree_=new KdTree(this.markers);var endTime=nowish();IOWA.Analytics.trackPerf("globe","marker creation",Math.ceil(endTime-startTime),null,this.MAX_PERF_TIMEOUT_);this.$.canvas.addEventListener("mousemove",this.handleMouseMove_.bind(this));this.$.canvas.addEventListener("mouseout",this.handleMouseOut_.bind(this))},markersChanged:function(){if(this.webglReady_){this.initMarkers_()}},latLngDistance_:function(p0,p1){var lat0=p0.lat*Math.PI/180;var lat1=p1.lat*Math.PI/180;var deltaLng=(p1.lng-p0.lng)*Math.PI/180;return Math.acos(Math.sin(lat0)*Math.sin(lat1)+Math.cos(lat0)*Math.cos(lat1)*Math.cos(deltaLng))},getTransitionTime_:function(){var multiplier=this.attractLoop&&!this.attractLoopCancelled_?6:1;return this.transitionDuration*multiplier},locationChanged:function(){if(!this.attractLocationChange_){this.attractLoopCancelled_=true}else{this.attractLocationChange_=false}this.previousLocation_.lat=this.currentLocation_.lat;this.previousLocation_.lng=this.currentLocation_.lng;if(Math.abs(this.previousLocation_.lng-this.location.lng)>180){if(this.previousLocation_.lng<this.location.lng){this.previousLocation_.lng+=360}else{this.previousLocation_.lng-=360}}this.transitionStart_=nowish();this.async(function(){this.fire("location-transitionend")},null,this.getTransitionTime_());this.scheduleUpdate_()},ease_:function(t){return t*t*t*(t*(t*6-15)+10)},lerp_:function(a,b,t){return a+t*(b-a)},interpolateLocation_:function(timestamp){var elapsedTime=timestamp-this.transitionStart_;var t=Math.max(0,Math.min(1,elapsedTime/this.getTransitionTime_()));t=this.ease_(t);this.currentLocation_.lat=this.lerp_(this.previousLocation_.lat,this.location.lat,t);this.currentLocation_.lng=this.lerp_(this.previousLocation_.lng,this.location.lng,t)},resize_:function(){var canvas=this.$.canvas;var resolutionScale=window.devicePixelRatio>1&&!IS_IOS?2:1;var width=canvas.offsetWidth;var height=canvas.offsetHeight;canvas.width=width*resolutionScale;canvas.height=height*resolutionScale;this.gl.viewport(0,0,width*resolutionScale,height*resolutionScale);var center=this.cameraDistance;this.projectionTransform_.identity().perspective(this.fov,width/height,center-1,center+1);this.canvasWidth_=width;this.canvasHeight_=height;this.resizeNeeded_=false},scheduleUpdate_:function(){if(this.animate_&&!this.noDraw&&this.webglReady_&&this.updateRequestId_===0){this.updateRequestId_=window.requestAnimationFrame(this.boundUpdate_)}},update_:function(timestamp){if(this.resizeNeeded_){this.resize_()}if(timestamp-this.transitionStart_<this.getTransitionTime_()){this.interpolateLocation_(timestamp)}else if(this.attractLoop){if(this.restartAttractLoop_){this.attractLoopCancelled_=false;this.restartAttractLoop_=false}if(!this.attractLoopCancelled_){this.iterateAttractLoop()}}var rotX=this.currentLocation_.lat-this.locationTarget.lat;var rotY=-this.currentLocation_.lng+this.locationTarget.lng;var worldTransform=tmpTransform0.identity().translate(0,this.offsetY,-this.cameraDistance).rotateX(rotX*Math.PI/180).rotateY(rotY*Math.PI/180);var inverseWorld=tmpTransform1.invertAffine(worldTransform);var cameraPosition=tmp3Vec1;cameraPosition[0]=inverseWorld.getElement(0,3);cameraPosition[1]=inverseWorld.getElement(1,3);cameraPosition[2]=inverseWorld.getElement(2,3);var mvpTransform=tmpTransform2;mvpTransform.product(this.projectionTransform_,worldTransform);var sunDirection=getSolarPosition(new Date,tmp3Vec0);this.renderGlobe_(mvpTransform,cameraPosition,sunDirection);var clickedMarkerIndex=-1;if(this.markerDrawCount_>0){var newHoverIndex=-1;if(this.mouseOver_){var hoverPoint=this.pickPoint(tmp3Vec2,this.lastOverX_,this.lastOverY_,inverseWorld,cameraPosition);if(hoverPoint){newHoverIndex=this.markerTree_.nearestNeighbor(hoverPoint[0],hoverPoint[1],hoverPoint[2],this.markerSize_*this.markerHoverScale_)}}if(this.mouseClicked_){this.mouseClicked_=false;var pickedPoint=this.pickPoint(tmp3Vec2,this.lastClickX_,this.lastClickY_,inverseWorld,cameraPosition);if(pickedPoint){var nearest=this.markerTree_.nearestNeighbor(pickedPoint[0],pickedPoint[1],pickedPoint[2],this.markerSize_*this.markerHoverScale_);clickedMarkerIndex=nearest}}this.gl.enable(this.gl.BLEND);this.renderMarkers_(mvpTransform,this.markerArrayBuffer_,this.markerIndexBuffer_,this.markerDrawCount_);var markerTransform=tmpTransform0;if(newHoverIndex>-1){var hoveredMarker=this.markers[newHoverIndex];markerTransform.identity().rotateY(hoveredMarker.lng*Math.PI/180).rotateX(-hoveredMarker.lat*Math.PI/180);markerTransform.product(mvpTransform,markerTransform);this.renderMarkers_(markerTransform,this.markerHoverArrayBuffer_,this.markerHoverIndexBuffer_,6)}var highlightIndex=this.highlightedMarker;if(highlightIndex>-1&&highlightIndex<this.markers.length){var highlightMarker=this.markers[highlightIndex];markerTransform.identity().rotateY(highlightMarker.lng*Math.PI/180).rotateX(-highlightMarker.lat*Math.PI/180);markerTransform.product(mvpTransform,markerTransform);this.renderMarkers_(markerTransform,this.markerHoverArrayBuffer_,this.markerHoverIndexBuffer_,6,HIGHLIGHTED_MARKER_COLOR)}this.gl.disable(this.gl.BLEND);if(this.lastHoveredIndex_===-1&&newHoverIndex!==-1){this.$.canvas.classList.add("markerHovered")}else if(this.lastHoveredIndex_!==-1&&newHoverIndex===-1){this.$.canvas.classList.remove("markerHovered")}this.lastHoveredIndex_=newHoverIndex}this.updateRequestId_=0;this.scheduleUpdate_();if(clickedMarkerIndex>-1){this.fire("marker-click",{markerIndex:clickedMarkerIndex})}},renderGlobe_:function(mvpTransform,cameraPosition,sunDirection){var gl=this.gl;this.globeProgram.use();gl.bindBuffer(gl.ARRAY_BUFFER,this.globeArrayBuffer);gl.vertexAttribPointer(this.globeProgram.attributes.coord,4,gl.FLOAT,false,16,0);gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,this.globeIndexBuffer);this.globeProgram.uniforms.globeCubeMap(0);this.globeProgram.uniforms.nightCubeMap(1);this.globeProgram.uniforms.sunDirection(sunDirection);this.globeProgram.uniforms.cameraPos(cameraPosition);this.globeProgram.uniforms.mvpMatrix(mvpTransform.m_);gl.drawElements(gl.TRIANGLES,this.globeDrawCount,gl.UNSIGNED_SHORT,0)},renderMarkers_:function(mvpTransform,arrayBuffer,indexBuffer,count,opt_color){var gl=this.gl;this.markerProgram_.use();gl.bindBuffer(gl.ARRAY_BUFFER,arrayBuffer);gl.vertexAttribPointer(this.markerProgram_.attributes.coord,4,gl.FLOAT,false,28,0);gl.vertexAttribPointer(this.markerProgram_.attributes.uvCoord,2,gl.FLOAT,false,28,16);gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER,indexBuffer);this.markerProgram_.uniforms.mvpMatrix(mvpTransform.m_);this.markerProgram_.uniforms.markerColor(opt_color||MARKER_COLOR);gl.drawElements(gl.TRIANGLES,count,gl.UNSIGNED_SHORT,0)},iterateAttractLoop:function(){if(this.attractLoop&&!this.attractLoopCancelled_){var longitude,latitude;var currentLoc=this.location;if(currentLoc.lng===0&&currentLoc.lat===0){var sun=getSolarPosition(new Date,tmp3Vec0);longitude=Math.atan2(sun[0],sun[2])*180/Math.PI;longitude+=75;if(longitude>180){longitude-=360}latitude=Math.asin(sun[1])}else{for(var i=1;i<5;i++){latitude=Math.random()*120-60;longitude=currentLoc.lng-i*55;latitude=Math.max(-60,Math.min(60,latitude));if(longitude<-180){longitude+=360}if(this.markers){var nearestIndex=this.getNearestMarker(latitude,longitude);if(nearestIndex>=0){var nearestMarker=this.markers[nearestIndex];latitude=nearestMarker.lat;longitude=nearestMarker.lng}}if(latitude!==currentLoc.lat&&longitude!==currentLoc.lng){break}}}this.attractLocationChange_=true;this.location={lat:latitude,lng:longitude}}},handleMouseMove_:function(e){e.stopPropagation();this.mouseOver_=true;if(e.offsetX){this.lastOverX_=e.offsetX;this.lastOverY_=e.offsetY}else{this.lastOverX_=e.layerX;this.lastOverY_=e.layerY}},handleMouseOut_:function(e){e.stopPropagation();this.mouseOver_=false},handleTap:function(e){this.mouseClicked_=true;var rect=this.$.canvas.getBoundingClientRect();this.lastClickX_=e.x-rect.left;this.lastClickY_=e.y-rect.top;this.scheduleUpdate_()},pickPoint:function(destVec,canvasX,canvasY,inverseWorld,cameraPosition){var aspectRatio=this.canvasWidth_/this.canvasHeight_;var ndcX=2*canvasX/this.canvasWidth_-1;var ndcY=1-2*canvasY/this.canvasHeight_;if(aspectRatio>1){ndcX*=aspectRatio}else{ndcY/=aspectRatio}var near=-1/Math.tan(this.fov/2);var cameraClick=tmpPicking4Vec;cameraClick[0]=ndcX;cameraClick[1]=ndcY;cameraClick[2]=near;cameraClick[3]=1;var globeClick=inverseWorld.transformVec4(cameraClick,cameraClick);var globeRayX=globeClick[0]-cameraPosition[0];var globeRayY=globeClick[1]-cameraPosition[1];var globeRayZ=globeClick[2]-cameraPosition[2];var length=Math.sqrt(globeRayX*globeRayX+globeRayY*globeRayY+globeRayZ*globeRayZ);globeRayX/=length;globeRayY/=length;globeRayZ/=length;var s=-(cameraPosition[0]*globeRayX+cameraPosition[1]*globeRayY+cameraPosition[2]*globeRayZ);if(s<0){return null}var cameraSqDistance=cameraPosition[0]*cameraPosition[0]+cameraPosition[1]*cameraPosition[1]+cameraPosition[2]*cameraPosition[2];var m2=cameraSqDistance-s*s;if(m2>1){return null}var q=Math.sqrt(1-m2);var t=s-q;var clickRay=destVec;clickRay[0]=cameraPosition[0]+t*globeRayX;clickRay[1]=cameraPosition[1]+t*globeRayY;clickRay[2]=cameraPosition[2]+t*globeRayZ;return clickRay},getNearestMarker:function(latitude,longitude){if(!this.markerTree_){return-1}return this.markerTree_.nearestNeighborByLatLng(latitude,longitude)},getMarkersWithinDistance:function(latitude,longitude,distanceKm){if(!this.markerTree_){return[]}var angularDistance=distanceKm/6378;var chordDistance=2*Math.sin(angularDistance/2);return this.markerTree_.nearestNeighborsByLatLng(latitude,longitude,chordDistance)},restartAttractLoop:function(){this.restartAttractLoop_=true}})})();Polymer("core-xhr",{request:function(options){var xhr=new XMLHttpRequest;var url=options.url;var method=options.method||"GET";var async=!options.sync;var params=this.toQueryString(options.params);if(params&&method.toUpperCase()=="GET"){url+=(url.indexOf("?")>0?"&":"?")+params}var xhrParams=this.isBodyMethod(method)?options.body||params:null;xhr.open(method,url,async);if(options.responseType){xhr.responseType=options.responseType}if(options.withCredentials){xhr.withCredentials=true}this.makeReadyStateHandler(xhr,options.callback);this.setRequestHeaders(xhr,options.headers);xhr.send(xhrParams);if(!async){xhr.onreadystatechange(xhr)}return xhr},toQueryString:function(params){var r=[];for(var n in params){var v=params[n];n=encodeURIComponent(n);r.push(v==null?n:n+"="+encodeURIComponent(v))}return r.join("&")},isBodyMethod:function(method){return this.bodyMethods[(method||"").toUpperCase()]},bodyMethods:{POST:1,PUT:1,PATCH:1,DELETE:1},makeReadyStateHandler:function(xhr,callback){xhr.onreadystatechange=function(){if(xhr.readyState==4){callback&&callback.call(null,xhr.response,xhr)}}},setRequestHeaders:function(xhr,headers){if(headers){for(var name in headers){xhr.setRequestHeader(name,headers[name])}}}});Polymer("core-ajax",{url:"",handleAs:"",auto:false,params:"",response:null,error:null,loading:false,progress:null,method:"",headers:null,body:null,contentType:"application/x-www-form-urlencoded",withCredentials:false,xhrArgs:null,created:function(){this.progress={}},ready:function(){this.xhr=document.createElement("core-xhr")},receive:function(response,xhr){if(this.isSuccess(xhr)){this.processResponse(xhr)}else{this.processError(xhr)}this.complete(xhr)},isSuccess:function(xhr){var status=xhr.status||0;return status>=200&&status<300},processResponse:function(xhr){var response=this.evalResponse(xhr);if(xhr===this.activeRequest){this.response=response}this.fire("core-response",{response:response,xhr:xhr})},processError:function(xhr){var response=this.evalResponse(xhr);var error={statusCode:xhr.status,response:response};if(xhr===this.activeRequest){this.error=error}this.fire("core-error",{response:error,xhr:xhr})},processProgress:function(progress,xhr){if(xhr!==this.activeRequest){return}var progressProxy={lengthComputable:progress.lengthComputable,loaded:progress.loaded,total:progress.total};this.progress=progressProxy},complete:function(xhr){if(xhr===this.activeRequest){this.loading=false}this.fire("core-complete",{response:xhr.status,xhr:xhr})},evalResponse:function(xhr){return this[(this.handleAs||"text")+"Handler"](xhr)},xmlHandler:function(xhr){return xhr.responseXML},textHandler:function(xhr){return xhr.responseText},jsonHandler:function(xhr){var r=xhr.responseText;try{return JSON.parse(r)}catch(x){console.warn("core-ajax caught an exception trying to parse response as JSON:");console.warn("url:",this.url);console.warn(x);return r}},documentHandler:function(xhr){return xhr.response},blobHandler:function(xhr){return xhr.response},arraybufferHandler:function(xhr){return xhr.response},urlChanged:function(){if(!this.handleAs){var ext=String(this.url).split(".").pop();switch(ext){case"json":this.handleAs="json";break}}this.autoGo()},paramsChanged:function(){this.autoGo()},bodyChanged:function(){this.autoGo()},autoChanged:function(){this.autoGo()},autoGo:function(){if(this.auto){this.goJob=this.job(this.goJob,this.go,0)}},getParams:function(params){params=this.params||params;if(params&&typeof params=="string"){params=JSON.parse(params)}return params},go:function(){var args=this.xhrArgs||{};args.body=this.body||args.body;args.params=this.getParams(args.params);args.headers=this.headers||args.headers||{};if(args.headers&&typeof args.headers=="string"){args.headers=JSON.parse(args.headers)}var hasContentType=Object.keys(args.headers).some(function(header){return header.toLowerCase()==="content-type"});if(args.body instanceof FormData){delete args.headers["Content-Type"]}else if(!hasContentType&&this.contentType){args.headers["Content-Type"]=this.contentType}if(this.handleAs==="arraybuffer"||this.handleAs==="blob"||this.handleAs==="document"){args.responseType=this.handleAs}args.withCredentials=this.withCredentials;args.callback=this.receive.bind(this);args.url=this.url;args.method=this.method;this.response=this.error=this.progress=null;this.activeRequest=args.url&&this.xhr.request(args);if(this.activeRequest){this.loading=true;var activeRequest=this.activeRequest;if("onprogress"in activeRequest){this.activeRequest.addEventListener("progress",function(progress){this.processProgress(progress,activeRequest)}.bind(this),false)}else{this.progress={lengthComputable:false}}}return this.activeRequest},abort:function(){if(!this.activeRequest)return;this.activeRequest.abort();this.activeRequest=null;this.progress={};this.loading=false}});Polymer("google-maps-api",{defaultUrl:"https://maps.googleapis.com/maps/api/js?callback=%%callback%%",apiKey:null,clientId:null,libraries:"places",version:"3.exp",language:null,signedIn:false,notifyEvent:"api-load",ready:function(){var url=this.defaultUrl+"&v="+this.version;url+="&libraries="+this.libraries;if(this.apiKey&&!this.clientId){url+="&key="+this.apiKey}if(this.clientId){url+="&client="+this.clientId}if(this.language){url+="&language="+this.language}if(this.signedIn){url+="&signed_in="+this.signedIn}this.url=url},get api(){return google.maps}});(function(){Polymer("google-map-marker",{marker:null,map:null,info:null,clickEvents:false,icon:null,mouseEvents:false,zIndex:0,publish:{longitude:{value:null,reflect:true},latitude:{value:null,reflect:true}},observe:{latitude:"updatePosition",longitude:"updatePosition"},detached:function(){this.marker.setMap(null)},attached:function(){if(this.marker){this.marker.setMap(this.map)}},updatePosition:function(){if(this.marker&&this.latitude!=null&&this.longitude!=null){this.marker.setPosition({lat:parseFloat(this.latitude),lng:parseFloat(this.longitude)})}},clickEventsChanged:function(){if(this.map){if(this.clickEvents){this._forwardEvent("click");this._forwardEvent("dblclick");this._forwardEvent("rightclick")}else{this._clearListener("click");this._clearListener("dblclick");this._clearListener("rightclick")}}},mouseEventsChanged:function(){if(this.map){if(this.mouseEvents){this._forwardEvent("mousedown");this._forwardEvent("mousemove");this._forwardEvent("mouseout");this._forwardEvent("mouseover");this._forwardEvent("mouseup")}else{this._clearListener("mousedown");this._clearListener("mousemove");this._clearListener("mouseout");this._clearListener("mouseover");this._clearListener("mouseup")}}},iconChanged:function(){if(this.marker){this.marker.setIcon(this.icon)}},zIndexChanged:function(){if(this.marker){this.marker.setZIndex(this.zIndex)}},mapChanged:function(){if(this.marker){this.marker.setMap(null);google.maps.event.clearInstanceListeners(this.marker)}if(this.map&&this.map instanceof google.maps.Map){this.mapReady()}},contentChanged:function(){this.onMutation(this,this.contentChanged);var content=this.innerHTML.trim();if(content){if(!this.info){this.info=new google.maps.InfoWindow;this.infoHandler_=google.maps.event.addListener(this.marker,"click",function(){this.info.open(this.map,this.marker)}.bind(this))}this.info.setContent(content)}else{if(this.info){google.maps.event.removeListener(this.infoHandler_);this.info=null}}},mapReady:function(){this._listeners={};this.marker=new google.maps.Marker({map:this.map,position:new google.maps.LatLng(this.latitude,this.longitude),title:this.title,draggable:this.draggable,visible:!this.hidden,icon:this.icon,zIndex:this.zIndex});this.contentChanged();this.clickEventsChanged();this.contentChanged();this.mouseEventsChanged();setupDragHandler_.bind(this)()},_clearListener:function(name){if(this._listeners[name]){google.maps.event.removeListener(this._listeners[name]);this._listeners[name]=null}},_forwardEvent:function(name){this._listeners[name]=google.maps.event.addListener(this.marker,name,function(event){this.fire("google-map-marker-"+name,event)}.bind(this))},attributeChanged:function(attrName,oldVal,newVal){if(!this.marker){return}switch(attrName){case"hidden":this.marker.setVisible(!this.hidden);break;case"draggable":this.marker.setDraggable(this.draggable);setupDragHandler_.bind(this)();break;case"title":this.marker.setTitle(this.title);break}}});function onDragEnd_(e,details,sender){this.latitude=e.latLng.lat();this.longitude=e.latLng.lng()}function setupDragHandler_(){if(this.draggable){this.dragHandler_=google.maps.event.addListener(this.marker,"dragend",onDragEnd_.bind(this))}else{google.maps.event.removeListener(this.dragHandler_);this.dragHandler_=null}}})();Polymer("google-map",{apiKey:null,clientId:null,latitude:37.77493,libraries:"places",longitude:-122.41942,zoom:10,noAutoTilt:false,showCenterMarker:false,mapType:"roadmap",version:"3.exp",disableDefaultUI:false,fitToMarkers:false,zoomable:true,styles:{},maxZoom:null,minZoom:null,signedIn:false,clickEvents:false,dragEvents:false,mouseEvents:false,observe:{latitude:"updateCenter",longitude:"updateCenter"},created:function(){this.markers=[]},attached:function(){this.resize()},mapApiLoaded:function(){this.map=new google.maps.Map(this.$.map,this.getMapOptions());this._listeners={};this.updateCenter();this.updateMarkers();this.addMapListeners();this.fire("google-map-ready")},getMapOptions:function(){var mapOptions={zoom:this.zoom,tilt:this.noAutoTilt?0:45,mapTypeId:this.mapType,disableDefaultUI:this.disableDefaultUI,disableDoubleClickZoom:!this.zoomable,scrollwheel:this.zoomable,styles:this.styles,maxZoom:Number(this.maxZoom),minZoom:Number(this.minZoom)};if(this.getAttribute("draggable")!=null){mapOptions.draggable=this.draggable}return mapOptions},updateMarkers:function(){this.markers=Array.prototype.slice.call(this.$.markers.getDistributedNodes());if(this.centerMarker){this.markers.push(this.centerMarker)}this.onMutation(this,this.updateMarkers);if(this.markers.length&&this.map){for(var i=0,m;m=this.markers[i];++i){m.map=this.map}if(this.fitToMarkers){this.fitToMarkersChanged()}}},clear:function(){for(var i=0,m;m=this.markers[i];++i){m.marker.setMap(null)}},resize:function(){if(this.map){google.maps.event.trigger(this.map,"resize");this.updateCenter()}},updateCenter:function(){if(!this.map){return}else if(typeof this.latitude!=="number"||isNaN(this.latitude)){throw new TypeError("latitude must be a number")}else if(typeof this.longitude!=="number"||isNaN(this.longitude)){throw new TypeError("longitude must be a number")}var newCenter=new google.maps.LatLng(this.latitude,this.longitude);var oldCenter=this.map.getCenter();if(!oldCenter){this.map.setCenter(newCenter)}else{oldCenter=new google.maps.LatLng(oldCenter.lat(),oldCenter.lng());if(!oldCenter.equals(newCenter)){this.map.panTo(newCenter)}}this.showCenterMarkerChanged()},zoomChanged:function(){if(this.map){this.map.setZoom(Number(this.zoom))}},clickEventsChanged:function(){if(this.map){if(this.clickEvents){this._forwardEvent("click");this._forwardEvent("dblclick");this._forwardEvent("rightclick")}else{this._clearListener("click");this._clearListener("dblclick");this._clearListener("rightclick")}}},dragEventsChanged:function(){if(this.map){if(this.dragEvents){this._forwardEvent("drag");this._forwardEvent("dragend");this._forwardEvent("dragstart")}else{this._clearListener("drag");this._clearListener("dragend");this._clearListener("dragstart")}}},mouseEventsChanged:function(){if(this.map){if(this.mouseEvents){this._forwardEvent("mousemove");this._forwardEvent("mouseout");this._forwardEvent("mouseover")}else{this._clearListener("mousemove");this._clearListener("mouseout");this._clearListener("mouseover")}}},maxZoomChanged:function(){if(this.map){this.map.setOptions({maxZoom:Number(this.maxZoom)})}},minZoomChanged:function(){if(this.map){this.map.setOptions({minZoom:Number(this.minZoom)})}},mapTypeChanged:function(){if(this.map){this.map.setMapTypeId(this.mapType)}},showCenterMarkerChanged:function(){if(!this.map){return}if(this.showCenterMarker){if(!this.centerMarker){this.centerMarker=document.createElement("google-map-marker")}var center=this.map.getCenter();this.centerMarker.latitude=center.lat();this.centerMarker.longitude=center.lng()}else{if(this.centerMarker){this.centerMarker.marker.setMap(null);this.centerMarker=null}}if(this.centerMarker){this.updateMarkers()}},disableDefaultUIChanged:function(){if(!this.map){return}this.map.setOptions({disableDefaultUI:this.disableDefaultUI})},zoomableChanged:function(){if(!this.map){return}this.map.setOptions({disableDoubleClickZoom:!this.zoomable,scrollwheel:this.zoomable})},attributeChanged:function(attrName,oldVal,newVal){if(!this.map){return}switch(attrName){case"draggable":this.map.setOptions({draggable:this.draggable});break}},fitToMarkersChanged:function(){if(this.map&&this.fitToMarkers){var latLngBounds=new google.maps.LatLngBounds;for(var i=0,m;m=this.markers[i];++i){latLngBounds.extend(new google.maps.LatLng(m.latitude,m.longitude))}if(this.markers.length>1){this.map.fitBounds(latLngBounds)}this.map.setCenter(latLngBounds.getCenter())}},addMapListeners:function(){google.maps.event.addListener(this.map,"center_changed",function(){var center=this.map.getCenter();this.latitude=center.lat();this.longitude=center.lng()
}.bind(this));google.maps.event.addListener(this.map,"zoom_changed",function(){this.zoom=this.map.getZoom()}.bind(this));this.clickEventsChanged();this.dragEventsChanged();this.mouseEventsChanged()},_clearListener:function(name){if(this._listeners[name]){google.maps.event.removeListener(this._listeners[name]);this._listeners[name]=null}},_forwardEvent:function(name){this._listeners[name]=google.maps.event.addListener(this.map,name,function(event){this.fire("google-map-"+name,event)}.bind(this))}});Polymer("io-extended-form",{address:"",created:function(){this.result=null},domReady:function(){this.async(function(){this.$.map.resize()},100)},detached:function(){var el=document.querySelector(".pac-container");if(el){el.parentNode.removeChild(el)}},mapReady:function(){this.autocomplete=new google.maps.places.Autocomplete(this.$.autocomplete,{types:["geocode"]});google.maps.event.addListener(this.$.map.map,"dblclick",function(e){this.result={};this.result.latitude=e.latLng.lat();this.result.longitude=e.latLng.lng()}.bind(this));google.maps.event.addListener(this.autocomplete,"place_changed",function(){var place=this.autocomplete.getPlace();if(!place.address_components){return}this.result={latitude:place.geometry?place.geometry.location.lat():null,longitude:place.geometry?place.geometry.location.lng():null};if(place.address_components){for(var i=0,comp;comp=place.address_components[i];++i){if(comp.types[0]==="street_number"){this.result.streetNumber=comp.long_name}if(comp.types[0]==="route"){this.result.streetName=comp.long_name}if(comp.types[0]==="locality"){this.result.city=comp.long_name}if(comp.types[0]==="administrative_area_level_1"){this.result.state=comp.short_name}if(comp.types[0]==="country"){this.result.country=comp.short_name}if(comp.types[0]==="postal_code"){this.result.postalCode=comp.long_name}}}}.bind(this))},openForm:function(){if(!this.result){return}var formURL="https://docs.google.com/forms/d/1rjMnxYvyGAmi3O4gfvYgqhEoolDSkeVdJY2w9MtVlmE/viewform"+"?entry.23917865="+(this.result.country||"")+"&entry.652280183="+(this.result.streetName||"")+"&entry.502610227="+(this.result.streetNumber||"")+"&entry.272782401="+(this.result.postalCode||"")+"&entry.789012978="+(this.result.city||"")+"&entry.1458261258="+(this.result.latitude||"")+"&entry.1058533728="+(this.result.longitude||"");location.href=formURL}});(function(){var IOS=navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/);var IOS_TOUCH_SCROLLING=IOS&&IOS[1]>=8;Polymer("core-list",Polymer.mixin({publish:{data:null,groups:null,scrollTarget:null,selectionEnabled:true,multi:false,selection:null,grid:false,width:null,height:200,runwayFactor:4},eventDelegates:{tap:"tapHandler","core-resize":"updateSize"},_scrollTop:0,observe:{"isAttached data grid width template scrollTarget":"initialize","multi selectionEnabled":"_resetSelection"},ready:function(){this._boundScrollHandler=this.scrollHandler.bind(this);this._boundPositionItems=this._positionItems.bind(this);this._oldMulti=this.multi;this._oldSelectionEnabled=this.selectionEnabled;this._virtualStart=0;this._virtualCount=0;this._physicalStart=0;this._physicalOffset=0;this._physicalSize=0;this._physicalSizes=[];this._physicalAverage=0;this._itemSizes=[];this._dividerSizes=[];this._repositionedItems=[];this._aboveSize=0;this._nestedGroups=false;this._groupStart=0;this._groupStartIndex=0},attached:function(){this.isAttached=true;this.template=this.querySelector("template");if(!this.template.bindingDelegate){this.template.bindingDelegate=this.element.syntax}this.resizableAttachedHandler()},detached:function(){this.isAttached=false;if(this._target){this._target.removeEventListener("scroll",this._boundScrollHandler)}this.resizableDetachedHandler()},updateSize:function(){if(!this._positionPending&&!this._needItemInit){this._resetIndex(this._getFirstVisibleIndex()||0);this.initialize()}},_resetSelection:function(){if(this._oldMulti!=this.multi&&!this.multi||this._oldSelectionEnabled!=this.selectionEnabled&&!this.selectionEnabled){this._clearSelection();this.refresh()}else{this.selection=this.$.selection.getSelection()}this._oldMulti=this.multi;this._oldSelectionEnabled=this.selectionEnabled},_adjustVirtualIndex:function(splices,group){if(this._targetSize===0){return}var totalDelta=0;for(var i=0;i<splices.length;i++){var s=splices[i];var idx=s.index;var gidx,gitem;if(group){gidx=this.data.indexOf(group);idx+=this.virtualIndexForGroup(gidx)}if(idx>=this._virtualStart){break}var delta=Math.max(s.addedCount-s.removed.length,idx-this._virtualStart);totalDelta+=delta;this._physicalStart+=delta;this._virtualStart+=delta;if(this._grouped){if(group){gitem=s.index}else{var g=this.groupForVirtualIndex(s.index);gidx=g.group;gitem=g.groupIndex}if(gidx==this._groupStart&&gitem<this._groupStartIndex){this._groupStartIndex+=delta}}}if(this._virtualStart<this._physicalCount){this._resetIndex(this._getFirstVisibleIndex()||0)}else{totalDelta=Math.max(totalDelta/this._rowFactor*this._physicalAverage,-this._physicalOffset);this._physicalOffset+=totalDelta;this._scrollTop=this.setScrollTop(this._scrollTop+totalDelta)}},_updateSelection:function(splices){for(var i=0;i<splices.length;i++){var s=splices[i];for(var j=0;j<s.removed.length;j++){var d=s.removed[j];this.$.selection.setItemSelected(d,false)}}},groupsChanged:function(){if(!!this.groups!=this._grouped){this.updateSize()}},initialize:function(){if(!this.template||!this.isAttached){return}var splices;if(arguments.length==1){splices=arguments[0];if(!this._nestedGroups){this._adjustVirtualIndex(splices)}this._updateSelection(splices)}else{this._clearSelection()}var target=this.scrollTarget||this;if(this._target!==target){this.initializeScrollTarget(target)}this.initializeData(splices,false)},initializeScrollTarget:function(target){if(this._target){this._target.removeEventListener("scroll",this._boundScrollHandler,false)}this._target=target;target.addEventListener("scroll",this._boundScrollHandler,false);if(target!=this&&target.setScrollTop&&target.getScrollTop){this.setScrollTop=function(val){target.setScrollTop(val);return target.getScrollTop()};this.getScrollTop=target.getScrollTop.bind(target);this.syncScroller=target.sync?target.sync.bind(target):function(){};this.adjustPositionAllowed=false}else{this.setScrollTop=function(val){target.scrollTop=val;return target.scrollTop};this.getScrollTop=function(){return target.scrollTop};this.syncScroller=function(){};this.adjustPositionAllowed=true}if(IOS_TOUCH_SCROLLING){target.style.webkitOverflowScrolling="touch";this.adjustPositionAllowed=false}this._target.style.willChange="transform";if(getComputedStyle(this._target).position=="static"){this._target.style.position="relative"}this._target.style.boxSizing=this._target.style.mozBoxSizing="border-box";this.style.overflowY=target==this?"auto":null},updateGroupObservers:function(splices){if(!this._nestedGroups){if(this._groupObservers&&this._groupObservers.length){splices=[{index:0,addedCount:0,removed:this._groupObservers}]}else{splices=null}}if(this._nestedGroups){splices=splices||[{index:0,addedCount:this.data.length,removed:[]}]}if(splices){var observers=this._groupObservers||[];for(var i=0;i<splices.length;i++){var s=splices[i],j;var args=[s.index,s.removed.length];if(s.removed.length){for(j=s.index;j<s.removed.length;j++){observers[j].close()}}if(s.addedCount){for(j=s.index;j<s.addedCount;j++){var o=new ArrayObserver(this.data[j]);args.push(o);o.open(this.getGroupDataHandler(this.data[j]))}}observers.splice.apply(observers,args)}this._groupObservers=observers}},getGroupDataHandler:function(group){return function(splices){this.groupDataChanged(splices,group)}.bind(this)},groupDataChanged:function(splices,group){this._adjustVirtualIndex(splices,group);this._updateSelection(splices);this.initializeData(null,true)},initializeData:function(splices,groupUpdate){var i;if(this.grid){if(!this.width){throw"Grid requires the `width` property to be set"}var cs=getComputedStyle(this._target);var padding=parseInt(cs.paddingLeft||0)+parseInt(cs.paddingRight||0);this._rowFactor=Math.floor((this._target.offsetWidth-padding)/this.width)||1;this._rowMargin=(this._target.offsetWidth-this._rowFactor*this.width-padding)/2}else{this._rowFactor=1;this._rowMargin=0}if(!this.data||!this.data.length){this._virtualCount=0;this._grouped=false;this._nestedGroups=false}else if(this.groups){this._grouped=true;this._nestedGroups=Array.isArray(this.data[0]);if(this._nestedGroups){if(this.groups.length!=this.data.length){throw"When using nested grouped data, data.length and groups.length must agree!"}this._virtualCount=0;for(i=0;i<this.groups.length;i++){this._virtualCount+=this.data[i]&&this.data[i].length}}else{this._virtualCount=this.data.length;var len=0;for(i=0;i<this.groups.length;i++){len+=this.groups[i].length}if(len!=this.data.length){throw"When using groups data, the sum of group[n].length's and data.length must agree!"}}var g=this.groupForVirtualIndex(this._virtualStart);this._groupStart=g.group;this._groupStartIndex=g.groupIndex}else{this._grouped=false;this._nestedGroups=false;this._virtualCount=this.data.length}if(!groupUpdate){this.updateGroupObservers(splices)}var currentCount=this._physicalCount||0;var height=this._target.offsetHeight;if(!height&&this._target.offsetParent){console.warn("core-list must either be sized or be inside an overflow:auto div that is sized")}this._physicalCount=Math.min(Math.ceil(height/(this._physicalAverage||this.height))*this.runwayFactor*this._rowFactor,this._virtualCount);this._physicalCount=Math.max(currentCount,this._physicalCount);this._physicalData=this._physicalData||new Array(this._physicalCount);var needItemInit=false;while(currentCount<this._physicalCount){var model=this.templateInstance?Object.create(this.templateInstance.model):{};this._physicalData[currentCount++]=model;needItemInit=true}this.template.model=this._physicalData;this.template.setAttribute("repeat","");this._dir=0;if(!this._needItemInit){if(needItemInit){this._needItemInit=true;this.resetMetrics();this.onMutation(this,this.initializeItems)}else{this.refresh()}}},initializeItems:function(){var currentCount=this._physicalItems&&this._physicalItems.length||0;this._physicalItems=this._physicalItems||[new Array(this._physicalCount)];this._physicalDividers=this._physicalDividers||new Array(this._physicalCount);for(var i=0,item=this.template.nextElementSibling;item&&i<this._physicalCount;item=item.nextElementSibling){if(item.getAttribute("divider")!=null){this._physicalDividers[i]=item}else{this._physicalItems[i++]=item}}this.refresh();this._needItemInit=false},_updateItemData:function(force,physicalIndex,virtualIndex,groupIndex,groupItemIndex){var physicalItem=this._physicalItems[physicalIndex];var physicalDatum=this._physicalData[physicalIndex];var virtualDatum=this.dataForIndex(virtualIndex,groupIndex,groupItemIndex);var needsReposition;if(force||physicalDatum.model!=virtualDatum){physicalDatum.model=virtualDatum;physicalDatum.index=virtualIndex;physicalDatum.physicalIndex=physicalIndex;physicalDatum.selected=this.selectionEnabled&&virtualDatum?this._selectedData.get(virtualDatum):null;if(this._grouped){var groupModel=this.groups[groupIndex];physicalDatum.groupModel=groupModel&&(this._nestedGroups?groupModel:groupModel.data);physicalDatum.groupIndex=groupIndex;physicalDatum.groupItemIndex=groupItemIndex;physicalItem._isDivider=this.data.length&&groupItemIndex===0;physicalItem._isRowStart=groupItemIndex%this._rowFactor===0}else{physicalDatum.groupModel=null;physicalDatum.groupIndex=null;physicalDatum.groupItemIndex=null;physicalItem._isDivider=false;physicalItem._isRowStart=virtualIndex%this._rowFactor===0}physicalItem.hidden=!virtualDatum;var divider=this._physicalDividers[physicalIndex];if(divider&&divider.hidden==physicalItem._isDivider){divider.hidden=!physicalItem._isDivider}needsReposition=!force}else{needsReposition=false}return needsReposition||force},scrollHandler:function(){if(IOS_TOUCH_SCROLLING){if(!this._raf){this._raf=requestAnimationFrame(function(){this._raf=null;this.refresh()}.bind(this))}}else{this.refresh()}},resetMetrics:function(){this._physicalAverage=0;this._physicalAverageCount=0},updateMetrics:function(force){var totalSize=0;var count=0;for(var i=0;i<this._physicalCount;i++){var item=this._physicalItems[i];if(!item.hidden){var size=this._itemSizes[i]=item.offsetHeight;if(item._isDivider){var divider=this._physicalDividers[i];if(divider){size+=this._dividerSizes[i]=divider.offsetHeight}}this._physicalSizes[i]=size;if(item._isRowStart){totalSize+=size;count++}}}this._physicalSize=totalSize;this._viewportSize=this.$.viewport.offsetHeight;this._targetSize=this._target.offsetHeight;if(this._target!=this){this._aboveSize=this.offsetTop}else{this._aboveSize=parseInt(getComputedStyle(this._target).paddingTop)}if(count){totalSize=this._physicalAverage*this._physicalAverageCount+totalSize;this._physicalAverageCount+=count;this._physicalAverage=Math.round(totalSize/this._physicalAverageCount)}},getGroupLen:function(group){group=arguments.length?group:this._groupStart;if(this._nestedGroups){return this.data[group].length}else{return this.groups[group].length}},changeStartIndex:function(inc){this._virtualStart+=inc;if(this._grouped){while(inc>0){var groupMax=this.getGroupLen()-this._groupStartIndex-1;if(inc>groupMax){inc-=groupMax+1;this._groupStart++;this._groupStartIndex=0}else{this._groupStartIndex+=inc;inc=0}}while(inc<0){if(-inc>this._groupStartIndex){inc+=this._groupStartIndex;this._groupStart--;this._groupStartIndex=this.getGroupLen()}else{this._groupStartIndex+=inc;inc=this.getGroupLen()}}}if(this.grid){if(this._grouped){inc=this._groupStartIndex%this._rowFactor}else{inc=this._virtualStart%this._rowFactor}if(inc){this.changeStartIndex(-inc)}}},getRowCount:function(dir){if(!this.grid){return dir}else if(!this._grouped){return dir*this._rowFactor}else{if(dir<0){if(this._groupStartIndex>0){return-Math.min(this._rowFactor,this._groupStartIndex)}else{var prevLen=this.getGroupLen(this._groupStart-1);return-Math.min(this._rowFactor,prevLen%this._rowFactor||this._rowFactor)}}else{return Math.min(this._rowFactor,this.getGroupLen()-this._groupStartIndex)}}},_virtualToPhysical:function(virtualIndex){var physicalIndex=(virtualIndex-this._physicalStart)%this._physicalCount;return physicalIndex<0?this._physicalCount+physicalIndex:physicalIndex},groupForVirtualIndex:function(virtual){if(!this._grouped){return{}}else{var group;for(group=0;group<this.groups.length;group++){var groupLen=this.getGroupLen(group);if(groupLen>virtual){break}else{virtual-=groupLen}}return{group:group,groupIndex:virtual}}},virtualIndexForGroup:function(group,groupIndex){groupIndex=groupIndex?Math.min(groupIndex,this.getGroupLen(group)):0;group--;while(group>=0){groupIndex+=this.getGroupLen(group--)}return groupIndex},dataForIndex:function(virtual,group,groupIndex){if(this.data){if(this._nestedGroups){if(virtual<this._virtualCount){return this.data[group][groupIndex]}}else{return this.data[virtual]}}},refresh:function(){var i,deltaCount;var lastScrollTop=this._scrollTop;this._scrollTop=this.getScrollTop();var scrollDelta=this._scrollTop-lastScrollTop;this._dir=scrollDelta<0?-1:scrollDelta>0?1:0;if(Math.abs(scrollDelta)>Math.max(this._physicalSize,this._targetSize)){deltaCount=Math.round(scrollDelta/this._physicalAverage*this._rowFactor);deltaCount=Math.max(deltaCount,-this._virtualStart);deltaCount=Math.min(deltaCount,this._virtualCount-this._virtualStart-1);this._physicalOffset+=Math.max(scrollDelta,-this._physicalOffset);this.changeStartIndex(deltaCount)}else{var base=this._aboveSize+this._physicalOffset;var margin=.3*Math.max((this._physicalSize-this._targetSize,this._physicalSize));this._upperBound=base+margin;this._lowerBound=base+this._physicalSize-this._targetSize-margin;var flipBound=this._dir>0?this._upperBound:this._lowerBound;if(this._dir>0&&this._scrollTop>flipBound||this._dir<0&&this._scrollTop<flipBound){var flipSize=Math.abs(this._scrollTop-flipBound);for(i=0;i<this._physicalCount&&flipSize>0&&(this._dir<0&&this._virtualStart>0||this._dir>0&&this._virtualStart<this._virtualCount-this._physicalCount);i++){var idx=this._virtualToPhysical(this._dir>0?this._virtualStart:this._virtualStart+this._physicalCount-1);var size=this._physicalSizes[idx];flipSize-=size;var cnt=this.getRowCount(this._dir);if(this._dir>0){this._physicalOffset+=size}this.changeStartIndex(cnt);if(this._dir<0){this._repositionedItems.push(this._virtualStart)}}}}if(this._updateItems(!scrollDelta)){if(Observer.hasObjectObserve){this.async(this._boundPositionItems)}else{Platform.flush();Platform.endOfMicrotask(this._boundPositionItems)}}},_updateItems:function(force){var i,virtualIndex,physicalIndex;var needsReposition=false;var groupIndex=this._groupStart;var groupItemIndex=this._groupStartIndex;for(i=0;i<this._physicalCount;++i){virtualIndex=this._virtualStart+i;physicalIndex=this._virtualToPhysical(virtualIndex);needsReposition=this._updateItemData(force,physicalIndex,virtualIndex,groupIndex,groupItemIndex)||needsReposition;groupItemIndex++;if(this.groups&&groupIndex<this.groups.length-1){if(groupItemIndex>=this.getGroupLen(groupIndex)){groupItemIndex=0;groupIndex++}}}return needsReposition},_positionItems:function(){var i,virtualIndex,physicalIndex,physicalItem;this.updateMetrics();if(this._dir<0){while(this._repositionedItems.length){virtualIndex=this._repositionedItems.pop();physicalIndex=this._virtualToPhysical(virtualIndex);this._physicalOffset-=this._physicalSizes[physicalIndex]}if(this._scrollTop+this._targetSize<this._viewportSize){this._updateScrollPosition(this._scrollTop)}}var divider,upperBound,lowerBound;var rowx=0;var x=this._rowMargin;var y=this._physicalOffset;var lastHeight=0;for(i=0;i<this._physicalCount;++i){virtualIndex=this._virtualStart+i;physicalIndex=this._virtualToPhysical(virtualIndex);physicalItem=this._physicalItems[physicalIndex];if(physicalItem._isDivider){if(rowx!==0){y+=lastHeight;rowx=0}divider=this._physicalDividers[physicalIndex];x=this._rowMargin;if(divider&&(divider._translateX!=x||divider._translateY!=y)){divider.style.opacity=1;if(this.grid){divider.style.width=this.width*this._rowFactor+"px"}divider.style.transform=divider.style.webkitTransform="translate3d("+x+"px,"+y+"px,0)";divider._translateX=x;divider._translateY=y}y+=this._dividerSizes[physicalIndex]}if(physicalItem._translateX!=x||physicalItem._translateY!=y){physicalItem.style.opacity=1;physicalItem.style.transform=physicalItem.style.webkitTransform="translate3d("+x+"px,"+y+"px,0)";physicalItem._translateX=x;physicalItem._translateY=y}lastHeight=this._itemSizes[physicalIndex];if(this.grid){rowx++;if(rowx>=this._rowFactor){rowx=0;y+=lastHeight}x=this._rowMargin+rowx*this.width}else{y+=lastHeight}}if(this._scrollTop>=0){this._updateViewportHeight()}},_updateViewportHeight:function(){var remaining=Math.max(this._virtualCount-this._virtualStart-this._physicalCount,0);remaining=Math.ceil(remaining/this._rowFactor);var vs=this._physicalOffset+this._physicalSize+remaining*this._physicalAverage;if(this._viewportSize!=vs){this._viewportSize=vs;this.$.viewport.style.height=this._viewportSize+"px";this.syncScroller()}},_updateScrollPosition:function(scrollTop){var deltaHeight=this._virtualStart===0?this._physicalOffset:Math.min(scrollTop+this._physicalOffset,0);if(deltaHeight){if(this.adjustPositionAllowed){this._scrollTop=this.setScrollTop(scrollTop-deltaHeight)}this._physicalOffset-=deltaHeight}},tapHandler:function(e){var n=e.target;var p=e.path;if(!this.selectionEnabled||n===this){return}requestAnimationFrame(function(){var active=window.ShadowDOMPolyfill?wrap(document.activeElement):this.shadowRoot.activeElement;if(active&&active!=this&&active.parentElement!=this&&document.activeElement!=document.body){return}if(p[0].localName=="input"||p[0].localName=="button"||p[0].localName=="select"){return}var model=n.templateInstance&&n.templateInstance.model;if(model){var data=this.dataForIndex(model.index,model.groupIndex,model.groupItemIndex);var item=this._physicalItems[model.physicalIndex];if(!this.multi&&data==this.selection){this.$.selection.select(null)}else{this.$.selection.select(data)}this.asyncFire("core-activate",{data:data,item:item})}}.bind(this))},selectedHandler:function(e,detail){this.selection=this.$.selection.getSelection();var id=this.indexesForData(detail.item);this._selectedData.set(detail.item,detail.isSelected);if(id.physical>=0&&id.virtual>=0){this.refresh()}},selectItem:function(index){if(!this.selectionEnabled){return}var data=this.data[index];if(data){this.$.selection.select(data)}},setItemSelected:function(index,isSelected){var data=this.data[index];if(data){this.$.selection.setItemSelected(data,isSelected)}},indexesForData:function(data){var virtual=-1;var groupsLen=0;if(this._nestedGroups){for(var i=0;i<this.groups.length;i++){virtual=this.data[i].indexOf(data);if(virtual<0){groupsLen+=this.data[i].length}else{virtual+=groupsLen;break}}}else{virtual=this.data.indexOf(data)}var physical=this.virtualToPhysicalIndex(virtual);return{virtual:virtual,physical:physical}},virtualToPhysicalIndex:function(index){for(var i=0,l=this._physicalData.length;i<l;i++){if(this._physicalData[i].index===index){return i}}return-1},clearSelection:function(){this._clearSelection();this.refresh()},_clearSelection:function(){this._selectedData=new WeakMap;this.$.selection.clear();this.selection=this.$.selection.getSelection()},_getFirstVisibleIndex:function(){for(var i=0;i<this._physicalCount;i++){var virtualIndex=this._virtualStart+i;var physicalIndex=this._virtualToPhysical(virtualIndex);var item=this._physicalItems[physicalIndex];if(!item.hidden&&item._translateY>=this._scrollTop-this._aboveSize){return virtualIndex}}},_resetIndex:function(index){index=Math.min(index,this._virtualCount-1);index=Math.max(index,0);this.changeStartIndex(index-this._virtualStart);this._scrollTop=this.setScrollTop(this._aboveSize+index/this._rowFactor*this._physicalAverage);this._physicalOffset=this._scrollTop-this._aboveSize;this._dir=0},scrollToItem:function(index){this.scrollToGroupItem(null,index)},scrollToGroup:function(group){this.scrollToGroupItem(group,0)},scrollToGroupItem:function(group,index){if(group!=null){index=this.virtualIndexForGroup(group,index)}this._resetIndex(index);this.refresh()}},Polymer.CoreResizable))})();Polymer("core-image",{publish:{src:null,load:true,sizing:null,position:"center",preload:false,placeholder:null,role:{reflect:true,value:"img"},fade:false,loading:false,width:null,height:null},observe:{"preload color sizing position src fade":"update"},widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},update:function(){this.style.backgroundSize=this.sizing;this.style.backgroundPosition=this.sizing?this.position:null;this.style.backgroundRepeat=this.sizing?"no-repeat":null;if(this.preload){if(this.fade){if(!this._placeholderEl){this._placeholderEl=this.shadowRoot.querySelector("#placeholder")}this._placeholderEl.style.backgroundSize=this.sizing;this._placeholderEl.style.backgroundPosition=this.sizing?this.position:null;this._placeholderEl.style.backgroundRepeat=this.sizing?"no-repeat":null;this._placeholderEl.classList.remove("fadein");this._placeholderEl.style.backgroundImage=this.load&&this.placeholder?"url("+this.placeholder+")":null}else{this._setSrc(this.placeholder)}if(this.load&&this.src){var img=new Image;img.src=this.src;this.loading=true;img.onload=function(){this._setSrc(this.src);this.loading=false;if(this.fade){this._placeholderEl.classList.add("fadein")}}.bind(this)}}else{this._setSrc(this.src)}},_setSrc:function(src){if(this.sizing){this.style.backgroundImage=src?"url("+src+")":""}else{this.$.img.src=src||""}}});(function(){"use strict";function _ref(obj,str){if(!str){return obj}return str.split(".").reduce(function(o,x){return o[x]},obj)}Polymer("io-gallery",{publish:{items:{value:null},mobile:{value:false,reflect:true},imagePath:null,active:false,height:200,sizing:"cover",backgroundColor:"#00BCD4"},created:function(){this.items=[]},itemsChanged:function(){var list=[];for(var i=0,item;item=this.items[i];++i){list.push({src:_ref(item,this.imagePath)})}this.renderList=list},activeChanged:function(){if(this.active){this.async(function(){this.$.list.updateSize()})}}})})();(function(){var ID=0;function generate(node){if(!node.id){node.id="core-label-"+ID++}return node.id}Polymer("core-label",{publish:{"for":{reflect:true,value:""}},eventDelegates:{tap:"tapHandler"},created:function(){generate(this);this._forElement=null},ready:function(){if(!this.for){this._forElement=this.querySelector("[for]");this._tie()}},tapHandler:function(ev){if(!this._forElement){return}if(ev.target===this._forElement){return}this._forElement.focus();this._forElement.click();this.fire("tap",null,this._forElement)},_tie:function(){if(this._forElement){this._forElement.setAttribute("aria-labelledby",this.id)}},_findScope:function(){var n=this.parentNode;while(n&&n.parentNode){n=n.parentNode}return n},forChanged:function(oldFor,newFor){if(this._forElement){this._forElement.removeAttribute("aria-labelledby")}var scope=this._findScope();if(!scope){return}this._forElement=scope.querySelector(newFor);if(this._forElement){this._tie()}}})})();(function(){var timeBlocks=[];var timeBlocksIndex={};function populateTimeBlocks(gmtDayOne){var hours=[];for(var i=0;i<24;++i){var hour=i%12||12;hours.push(hour+(i<12?" AM":" PM"))}var blocksStartDay=parseInt(moment(gmtDayOne).format("D"),10);for(var i=0;i<3;i++){for(var j=0;j<hours.length;j++){var timeBlock={name:hours[j],day:blocksStartDay+i,sessions:[]};if(j===0){timeBlock.dayStart=timeBlock.day}timeBlocks.push(timeBlock);var timeBlockId=timeBlock.day+hours[j];timeBlocksIndex[timeBlockId]=timeBlocks.length-1}}}Polymer("io-schedule",{publish:{day:null,sessionThemes:null,sessionTypes:null,sessionTopics:null,filters:null,timezone:"GMT-07:00",timezoneNames:null,sessions:null,userSessions:null,fetchingUserData:false,gmtDayOne:null},firstDay_:28,lastDay_:29,created:function(){populateTimeBlocks(this.gmtDayOne||this.getAttribute("gmtDayOne"));this.timeBlocks_=timeBlocks;this.timeBlocksIndex_=timeBlocksIndex;this.timezoneNames=[];this.sessions=[];this.userSessions=[];this.filters=[];this.sessionTypes=[];this.sessionTopics=[];this.sessionThemes=[];this.filtersState_={}},dayChanged:function(){this.updateTimeBlocks()},userSessionsChanged:function(oldVal,newVal){if(this.userSessions.length||oldVal.length&&!newVal.length){this.updateTimeBlocks()}},timezoneChanged:function(){var localFirstDay=this.getLocalizedTime(this.gmtDayOne);var localLastDay=moment(localFirstDay).add(1,"days");this.firstDay_=parseInt(localFirstDay.format("D"));this.lastDay_=parseInt(localLastDay.format("D"));for(var i=0,session;session=this.sessions[i];++i){var startTime=this.getLocalizedTime(session.startTimestamp);var endTime=this.getLocalizedTime(session.endTimestamp);session.start=startTime.format("h:mm A");session.end=endTime.format("h:mm A");session.block=startTime.format("h A");session.day=startTime.format("D")}this.updateTimeBlocks()},isFilterSelected:function(filterName){return this.filters.indexOf(filterName)>-1},applyFilter:function(e){var filterName=e.target.getAttribute("name");var filterType=e.target.getAttribute("filter-type");var filterSiblings=e.target.parentNode.querySelectorAll('io-radio-button[filter-type="'+filterType+'"]');for(i=0;i<filterSiblings.length;i++){var filterSibling=filterSiblings[i];filterSibling.checked=filterSibling===e.target?e.target.checked:false;var filterSiblingName=filterSibling.getAttribute("name");var filterIndex=this.filters.indexOf(filterSiblingName);if(filterSibling.checked&&filterIndex<0){this.filters.push(filterName)}else if(!filterSibling.checked&&filterIndex>-1){this.filters.splice(filterIndex,1)}}},filtersChanged:function(oldVal,newVal){if(!oldVal.length&&!newVal.length){return}this.filtersState_={};for(var i=0;i<this.filters.length;i++){this.filtersState_[this.filters[i]]=true}for(var i=0,session;session=this.sessions[i];++i){session.hide=!this.matchesFilters(session)}this.updateTimeBlocks();var filters=this.filters.join(",");var search=window.location.search;if(filters.length){search=IOWA.Util.setSearchParam(search,"filters",filters)}else{search=IOWA.Util.removeSearchParam(search,"filters")}history.replaceState({},"",[window.location.origin,window.location.pathname,search,window.location.hash].join(""))},matchesFilters:function(session){if(!this.filters.length){return true}for(var i=0,filter;filter=this.filters[i];++i){if(!session.filters[filter]){return false}}return true},updateTimeBlocks:function(){if(!this.day){return}for(var i=0,timeBlock;timeBlock=this.timeBlocks_[i];++i){timeBlock.sessions=[]}for(var i=0,session;session=this.sessions[i];++i){var block=session.day+session.block;var timeBlock=this.timeBlocks_[this.timeBlocksIndex_[block]];if(timeBlock){var isValidSession=this.matchesFilters(session)&&(this.day.value!=="myschedule"||this.day.value=="myschedule"&&session.saved);if(isValidSession){timeBlock.sessions.push(session)}}}},onSessionSelect:function(e,detail,sender){e.preventDefault();this.selectSession(sender.templateInstance.model.session)},onSessionKeyUp:function(e,detail,sender){if(e.keyCode===13||e.altKey&&e.ctrlKey&&e.keyCode===32){this.selectSession(sender.templateInstance.model.session)}},selectSession:function(session){this.fire("session-select",{session:session})},getLocalizedTime:function(dateStr){var tzId=this.timezoneNames[this.timezone].name;return moment(dateStr).tz(tzId)},onToggleSaveSession:function(e,detail,sender){e.stopPropagation();this.fire("session-bookmark",{session:sender.templateInstance.model.session,save:e.target.checked})}})})();Polymer("paper-radio-group",{nextIndex:function(index){var items=this.items;var newIndex=index;do{newIndex=(newIndex+1)%items.length;if(newIndex===index){break}}while(items[newIndex].disabled);return newIndex},previousIndex:function(index){var items=this.items;var newIndex=index;do{newIndex=(newIndex||items.length)-1;if(newIndex===index){break}}while(items[newIndex].disabled);return newIndex},selectNext:function(){var node=this.selectIndex(this.nextIndex(this.selectedIndex));node.focus()},selectPrevious:function(){var node=this.selectIndex(this.previousIndex(this.selectedIndex));node.focus()},selectedAttribute:"checked",activateEvent:"change"});Polymer("paper-autogrow-textarea",{publish:{target:null,rows:1,maxRows:0},tokens:null,observe:{rows:"updateCached",maxRows:"updateCached"},constrain:function(tokens){var _tokens;tokens=tokens||[""];if(this.maxRows>0&&tokens.length>this.maxRows){_tokens=tokens.slice(0,this.maxRows)}else{_tokens=tokens.slice(0)}while(this.rows>0&&_tokens.length<this.rows){_tokens.push("")}return _tokens.join("<br>")+"&nbsp;"},valueForMirror:function(input){this.tokens=input&&input.value?input.value.replace(/&/gm,"&amp;").replace(/"/gm,"&quot;").replace(/'/gm,"&#39;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").split("\n"):[""];return this.constrain(this.tokens)},update:function(input){this.$.mirror.innerHTML=this.valueForMirror(input)},updateCached:function(){this.$.mirror.innerHTML=this.constrain(this.tokens)},inputAction:function(e){this.update(e.target)}});