!function(a){a.echo=new function(){function c(){if(h.data&&h.script)if(d.module("echo").value("campaign",g.campaign).value("config",g.settings),f(g.element).length>0){if(f(g.element).injector()){var a=f(g.element).injector().get("$rootScope");do{a.$$childHead.$destroy()}while(null!==a.$$childHead);a.$$listeners={};var b=f(g.element).data();delete b.$injector}g.libraries.globalize(),d.bootstrap(f(g.element),["echo"]),g.libraries.restore()}else f(document).ready(function(){g.libraries.globalize(),d.bootstrap(f(g.element),["echo"]),g.libraries.restore()})}var d,e,f,g=this,h={data:!1,script:!1};this.closure=!1,this.scriptPath=null,this.libraries=new function(){var b,c;this.backup=function(){b=a.angular,c=a.jQuery},this.clear=function(){this.backup(),d=a.angular={},e=a.jQuery=a.$={}},this.localize=function(){d=a.angular,e=f=a.jQuery},this.globalize=function(){this.backup(),a.angular=d,a.jQuery=a.$=e},this.restore=function(){g.closure&&(a.angular=b,a.jQuery=a.$=c)}},this.init=function(a,b,c){this.campaign=!1,this.getData(a,b,c),this.getStyle(),this.getScript()},this.getScript=function(){if(void 0!==g.scriptPath)if(d&&d.module("echo"))h.script=!0,c();else{var a=document.createElement("script"),b=document.getElementsByTagName("script")[0];a.onload=function(){g.settings.standalone&&g.libraries.globalize(),h.script=!0,c()},a.src=g.scriptPath.replace(/\[brand\]/g,this.settings.brand),b.parentNode.insertBefore(a,b)}},this.getStyle=function(){if(!document.getElementById("echo_styles")&&"brand"in this.settings){var a=document.getElementsByTagName("head")[0],b=document.createElement("link");b.id="echo_styles",b.rel="stylesheet",b.type="text/css",b.href=g.stylePath.replace(/\[brand\]/g,this.settings.brand),b.media="all",a.appendChild(b)}},this.getData=function(d,e,f){switch(typeof f){case"object":this.campaign=f;break;case"function":this.callback=f}if(h.data=!1,this.element=d,this.settings=b({},a.echo.defaults,e),this.campaign)void 0!==this.campaign.status&&404===this.campaign.status?a.location=g.settings.error_redirection_url.length>0?g.settings.error_redirection_url:response.redirect_url:(h.data=!0,c());else{var i=[],j=new RegExp(/^\?(.*)/),k=j.exec(location.search);k&&i.push(k[1]),this.settings.preview&&i.push("preview="+this.settings.preview),this.settings.preview_date&&i.push("preview_date="+this.settings.preview_date),i.push("callback=echo.dataReady"),i=i.length?"?"+i.join("&"):"";var l=this.settings.url+"api/data/"+this.settings.campaign_id+"/"+this.settings.campaign_language+"/"+i;if(h.script){var m=document.getElementById("echo-api-url");m.parentNode.removeChild(m)}var n=document.createElement("script");n.setAttribute("src",l),n.setAttribute("id","echo-api-url"),document.head.appendChild(n)}},this.dataReady=function(b){404===b.status?a.location=g.settings.error_redirection_url.length>0?g.settings.error_redirection_url:b.redirect_url:(g.campaign=b,a.location.protocol+"//"+a.location.hostname+"/"!==g.settings.url&&(g.campaign.logged_in=!1),h.data=!0,c(),this.callback&&this.callback())}};var b=function(a){a=a||{};for(var c=1;c