if(!window.dashcode){dashcode=new Object()}dashcode.setupParts=function(){if(dashcode.setupParts.called){return}dashcode.setupParts.called=true;var l=[];for(var i in dashcodePartSpecs){var k=dashcodePartSpecs[i];var j=window[k.creationFunction];var h=j(i,k);if(h&&h.finishLoading){l[l.length]=h}}for(var g=0;g<l.length;g++){l[g].finishLoading()}};window.addEventListener("load",dashcode.setupParts,false);dashcode.getLocalizedString=function(d){try{d=localizedStrings[d]||d}catch(c){}return d};dashcode.createInstancePreferenceKey=function(b){return widget.identifier+"-"+b};dashcode.getElementHeight=function(c){var d=c.offsetHeight;if(!d||d==0){d=dashcode.getElementSize(c).height}return d};dashcode.getElementWidth=function(c){var d=c.offsetWidth;if(!d||d==0){d=dashcode.getElementSize(c).width}return d};dashcode.getElementSize=function(c){var d=dashcode.getElementSizesWithAncestor([c],c);return d[0]};dashcode.getElementSizesWithAncestor=function(t,n){if(t.length<1){return[]}var s=new Array();var q=t[0].offsetWidth;if(!q||q==0){var m=n;while(m&&(m!=document)){var r=document.defaultView.getComputedStyle(m,null);var l=r?r.getPropertyValue("display"):m.style.display;if((r&&l=="none")||(!r&&l!="block")){s.push({node:m,display:m.style.display});m.style.display="block"}m=m.parentNode}}var i=new Array();for(var o=0;o<t.length;o++){i.push({width:t[o].offsetWidth,height:t[o].offsetHeight})}for(var o=0;o<s.length;o++){var p=s[o].node;p.style.display=s[o].display;if(p.getAttribute("style")==""){p.removeAttribute("style")}}return i};dashcode.getElementDocumentOffset=function(e){var h=e.offsetParent;var g={x:e.offsetLeft,y:e.offsetTop};if(h){var f=dashcode.getElementDocumentOffset(h);g.x+=f.x;g.y+=f.y}return g};dashcode.pointInElement=function(g,h,i){var j=dashcode.getElementSize(i);var f=dashcode.getElementDocumentOffset(i);if(g>=f.x){if(g>f.x+j.width){return false}if(h>=f.y){if(h>f.y+j.height){return false}}else{return false}}else{return false}return true};dashcode.cloneTemplateElement=function(i,f){var h=f?i:i.cloneNode(true);var g=new Object();this.processClonedTemplateElement(h,g,f);if(!h.object){h.object={}}h.object.templateElements=g;for(var j in g){if(g[j].object&&g[j].object.finishLoading){g[j].object.finishLoading()}}return h};dashcode.processClonedTemplateElement=function(r,m,o,l){var q=r.id;if(!q&&r.getAttribute){if(q=r.getAttribute("tempId")){r.removeAttribute("tempId")}}var n=null;if(q){n=dashcodePartSpecs[q]}var t=l||(n&&n.preserveChildIdsWhenCloning);var s=r.childNodes;for(var p=0;p<s.length;p++){arguments.callee(s[p],m,o,t)}if(q){m[q]=r;if(!o){r.removeAttribute("id");if(l){r.setAttribute("tempId",q)}if(n){n.originalID=q;var f=window[n.creationFunction];if(f&&f instanceof Function){f(r,n)}}}}};var setupParts=dashcode.setupParts;var getLocalizedString=dashcode.getLocalizedString;var createInstancePreferenceKey=dashcode.createInstancePreferenceKey;var getElementHeight=dashcode.getElementHeight;var getElementWidth=dashcode.getElementWidth;var getElementSize=dashcode.getElementSize;