define(["Ti/_","Ti/_/string","Ti/Filesystem"],function(e,r,t){function i(e,t,o){var s,l,c=0;if(e)if(arguments.length>2){for(;c<n.length;)if(s=n[c++],s+=s?l||(l=r.capitalize(t)):t,s in e.style)return(u(o,"Array")?o:[o]).forEach(function(r){e.style[s]=r}),o}else for(s in t)i(e,s,t[s]);return e}var n=require.config.vendorPrefixes.dom,u=require.is,o=document.createElement("p");return{discover:function(e,t){var i,u,s=0;for(t||(t=o);s<n.length;)if(i=n[s++],i+=i?u||(u=r.capitalize(e)):e,i in t.style)return i;return e},get:function(e,r){return e.style[this.discover(r,e)]},set:i,supports:function(e,r){var t=this.discover(e,r);return t in r.style},url:function(r){if(r&&"Ti.Blob"===r.declaredClass)return"url("+r.toString()+")";var i=r&&r.match(/^(.+):\/\//),n=i&&~t.protocols.indexOf(i[1])&&t.getFile(r);return n&&n.exists()?"url("+n.read().toString()+")":r&&"none"!==r?/^url\(/.test(r)?r:"url("+(require.cache(r)||e.getAbsolutePath(r))+")":""}}});