define(["infra/dataObject","core/client/assetsHelper","infra/logger"],function(e,n,t){var a=null,i=null,o=null,r=null,u=function(e){return a.svData[e]instanceof Object?a.svData[e].svType:void 0},c=function(e){var n=u(e);return"string"==typeof n?(n=n.toLowerCase(),"image"===n||"video"===n):!1},f=function(e){var t=null,a=s(),i=e.toLowerCase();return a&&(t=a.getDataByKey(i),t instanceof Object&&(t=t.value,t instanceof Object&&c(i)&&(t=n.parseAsset(t)))),t},s=function(){return i},l=function(){var n={},t=EB.getSVData();if(t)for(var o in t)n[o.toLowerCase()]=t[o];else if(t=a.svData)for(var o in t)n[o]=t[o].value;i=new e("sv",n)},v=function(){r&&(r(),r=null)},D=function(){l(),g(),v()},E=function(){D()},d=function(){D()},g=function(){o&&(o.getSVData=f)},B=function(e,n,t){o=n,a=e.svSchema,r=t,EB.getSVData?EB.getSVData()?E():(EB.addEventListener(EBG.EventName.SV_DATA_READY,E),EB.addEventListener(EBG.EventName.SV_DATA_FAILED,d)):d()};return t.log("svManager module loaded"),{id:"SV",init:B,getDataObject:s}});