File: //proc/self/root/proc/self/root/home4/cca63905/.trash/wp-content/plugins/css-hero/js/worker.js
if ('function' === typeof importScripts){
importScripts("less_mod.js"); // https://github.com/openstyles/less-bundle
importScripts("csstojson.js");
}
var fa_icons = ['500px','address-book-o','address-book','address-card-o','address-card','adjust','adn','align-center','align-justify','align-left','align-right','amazon','ambulance','anchor','android','angellist','angle-double-down','angle-double-left','angle-double-right','angle-double-up','angle-down','angle-left','angle-right','angle-up','apple','archive','area-chart','arrow-circle-down','arrow-circle-left','arrow-circle-o-down','arrow-circle-o-left','arrow-circle-o-up','arrow-circle-right','arrow-circle-up','arrow-down','arrow-left','arrow-right','arrow-up','arrows-alt','arrows-h','arrows-v','arrows','asl-interpreting','asterisk','at','audio-description','automobile','backward','balance-scale','ban','bandcamp','bank','bar-chart-o','bar-chart','barcode','bars','bath','bathtub','battery-0','battery-1','battery-2','battery-3','battery-4','battery-empty','battery-full','battery-half','battery-quarter','battery','bed','beer','behance-square','behance','bell-o','bell-slash-o','bell-slash','bell','bicycle','binoculars','birthday-cake','bitbucket-square','bitbucket','bitcoin','black-tie','blind','bluetooth-b','bluetooth','bold','bolt','bomb','book','bookmark-o','bookmark','braille','briefcase','btc','bug','building-o','building','bullhorn','bullseye','bus','buysellads','cab','calculator','calendar-check-o','calendar-minus-o','calendar-o','calendar-plus-o','calendar-times-o','calendar','camera-retro','camera','car','caret-down','caret-left','caret-right','caret-square-o-down','caret-square-o-left','caret-square-o-up','caret-up','cart-arrow-down','cart-plus','cc-amex','cc-diners-club','cc-discover','cc-jcb','cc-mastercard','cc-paypal','cc-stripe','cc-visa','cc','certificate','chain-broken','chain','check-circle-o','check-circle','check-square-o','check-square','check','chevron-circle-down','chevron-circle-left','chevron-circle-up','chevron-down','chevron-left','chevron-right','chevron-up','child','chrome','circle-o-notch','circle-o','circle-thin','circle','clipboard','clock-o','clone','close','cloud-download','cloud-upload','cloud','cny','code-fork','code','codepen','codiepie','coffee','cog','cogs','columns','comment-o','comment','commenting-o','commenting','comments-o','comments','compass','compress','connectdevelop','contao','copy','copyright','creative-commons','credit-card-alt','credit-card','crop','crosshairs','css3','cube','cubes','cut','cutlery','dashboard','dashcube','database','deaf','deafness','dedent','delicious','desktop','deviantart','diamond','digg','dollar','dot-circle-o','download','dribbble','drivers-license-o','drivers-license','dropbox','drupal','edge','edit','eercast','eject','ellipsis-h','ellipsis-v','empire','envelope-o','envelope-open-o','envelope-open','envelope-square','envelope','envira','eraser','etsy','eur','euro','exchange','exclamation-circle','exclamation','expand','expeditedssl','external-link','eye-slash','eye','eyedropper','fa','facebook-f','facebook-official','facebook-square','facebook','fast-backward','fast-forward','fax','feed','female','fighter-jet','file-archive-o','file-audio-o','file-code-o','file-excel-o','file-image-o','file-movie-o','file-o','file-pdf-o','file-photo-o','file-picture-o','file-powerpoint-o','file-sound-o','file-text-o','file-text','file-video-o','file-word-o','file-zip-o','file','files-o','film','filter','fire-extinguisher','fire','firefox','first-order','flag-checkered','flag-o','flag','flash','flask','flickr','floppy-o','folder-o','folder-open-o','folder-open','folder','font-awesome','font','fonticons','fort-awesome','forumbee','forward','foursquare','free-code-camp','frown-o','futbol-o','gamepad','gavel','gbp','ge','gear','gears','genderless','get-pocket','gg-circle','gg','gift','git-square','git','github-alt','github-square','github','gitlab','gittip','glass','glide-g','glide','globe','google-plus-circle','google-plus-square','google-plus','google-wallet','google','graduation-cap','gratipay','grav','group','h-square','hacker-news','hand-grab-o','hand-lizard-o','hand-o-down','hand-o-left','hand-o-right','hand-o-up','hand-paper-o','hand-peace-o','hand-pointer-o','hand-rock-o','hand-scissors-o','hand-spock-o','hand-stop-o','handshake-o','hard-of-hearing','hashtag','hdd-o','header','headphones','heart-o','heart','heartbeat','history','home','hospital-o','hotel','hourglass-1','hourglass-2','hourglass-3','hourglass-end','hourglass-half','hourglass-o','hourglass-start','hourglass','houzz','html5','i-cursor','id-badge','id-card-o','id-card','ils','image','imdb','inbox','indent','industry','info-circle','info','inr','instagram','institution','internet-explorer','intersex','ioxhost','italic','joomla','jpy','jsfiddle','key','keyboard-o','krw','language','laptop','lastfm-square','lastfm','leaf','leanpub','legal','lemon-o','level-down','level-up','life-bouy','life-buoy','life-ring','life-saver','lightbulb-o','line-chart','link','linkedin-square','linkedin','linode','linux','list-alt','list-ol','list-ul','list','location-arrow','lock','long-arrow-down','long-arrow-left','long-arrow-right','long-arrow-up','low-vision','magic','magnet','mail-forward','mail-reply-all','mail-reply','male','map-marker','map-o','map-pin','map-signs','map','mars-double','mars-stroke-h','mars-stroke-v','mars-stroke','mars','maxcdn','meanpath','medium','medkit','meetup','meh-o','mercury','microchip','microphone-slash','microphone','minus-circle','minus-square-o','minus-square','minus','mixcloud','mobile-phone','mobile','modx','money','moon-o','mortar-board','motorcycle','mouse-pointer','music','navicon','neuter','newspaper-o','object-group','object-ungroup','odnoklassniki','opencart','openid','opera','optin-monster','outdent','pagelines','paint-brush','paper-plane-o','paper-plane','paperclip','paragraph','paste','pause-circle-o','pause-circle','pause','paw','paypal','pencil-square-o','pencil-square','pencil','percent','phone-square','phone','photo','picture-o','pie-chart','pied-piper-alt','pied-piper-pp','pied-piper','pinterest-p','pinterest-square','pinterest','plane','play-circle-o','play-circle','play','plug','plus-circle','plus-square-o','plus-square','plus','podcast','power-off','print','product-hunt','puzzle-piece','qq','qrcode','question-circle-o','question-circle','question','quora','quote-left','quote-right','ra','random','ravelry','rebel','recycle','reddit-alien','reddit-square','reddit','refresh','registered','remove','renren','reorder','repeat','reply-all','reply','resistance','retweet','rmb','road','rocket','rotate-left','rotate-right','rouble','rss-square','rss','rub','ruble','rupee','s15','safari','save','scissors','scribd','search-minus','search-plus','search','sellsy','send-o','send','server','share-alt-square','share-alt','share-square-o','share-square','share','shekel','sheqel','shield','ship','shirtsinbulk','shopping-bag','shopping-basket','shopping-cart','shower','sign-in','sign-language','sign-out','signal','signing','simplybuilt','sitemap','skyatlas','skype','slack','sliders','slideshare','smile-o','snapchat-ghost','snapchat-square','snapchat','snowflake-o','soccer-ball-o','sort-alpha-asc','sort-alpha-desc','sort-amount-asc','sort-amount-desc','sort-asc','sort-desc','sort-down','sort-numeric-asc','sort-numeric-desc','sort-up','sort','soundcloud','space-shuttle','spinner','spoon','spotify','square-o','square','stack-exchange','stack-overflow','star-half-empty','star-half-full','star-half-o','star-half','star-o','star','steam-square','steam','step-backward','step-forward','stethoscope','sticky-note-o','sticky-note','stop-circle-o','stop-circle','stop','street-view','strikethrough','stumbleupon-circle','stumbleupon','subscript','subway','suitcase','sun-o','superpowers','superscript','support','table','tablet','tachometer','tag','tags','tasks','taxi','telegram','television','tencent-weibo','terminal','text-height','text-width','th-large','th-list','th','themeisle','thermometer-0','thermometer-1','thermometer-2','thermometer-3','thermometer-4','thermometer-empty','thermometer-full','thermometer-half','thermometer-quarter','thermometer','thumb-tack','thumbs-down','thumbs-o-down','thumbs-o-up','thumbs-up','ticket','times-circle-o','times-circle','times-rectangle-o','times-rectangle','times','tint','toggle-down','toggle-left','toggle-off','toggle-on','toggle-right','toggle-up','trademark','train','transgender-alt','transgender','trash-o','trash','tree','trello','tripadvisor','trophy','truck','try','tty','tumblr-square','tumblr','turkish-lira','tv','twitch','twitter-square','twitter','umbrella','underline','undo','universal-access','university','unlink','unlock-alt','unlock','unsorted','upload','usb','usd','user-circle-o','user-circle','user-md','user-o','user-plus','user-secret','user-times','user','users','vcard-o','vcard','venus-double','venus-mars','venus','viacoin','viadeo-square','viadeo','video-camera','vimeo-square','vimeo','vine','vk','volume-down','volume-off','volume-up','warning','wechat','weibo','weixin','whatsapp','wheelchair-alt','wheelchair','wifi','wikipedia-w','window-close-o','window-close','window-maximize','window-minimize','window-restore','windows','won','wordpress','wpbeginner','wpexplorer','wpforms','wrench','xing-square','xing','y-combinator-square','y-combinator','yahoo','yc-square','yc','yelp','yen','yoast','youtube-play','youtube-square','youtube'];
self.addEventListener('message', function(e){
var d = e.data;
if (d.type == 'detect_mq_edits'){
var _css = d.val;
_css = _css.replace(/ /g,' ').split(' {').join('{');
var _mqs = d.mqs;
var _cur = d.curel;
var _ret = {}
_cur = _cur.trim();
var _glo = _css;
///
for (var m in _mqs){
var _mq = _mqs[m]
if (_mq != 'all'){
_mq = _mq.replace(/ /g,' ').split(' :').join(':').split(': ').join(':').split(':').join(': ')
_mq = _mq.split(' )').join(')').split('( ').join(')')
var start = _css.indexOf(_mq);
if (start > -1){
start = start+_mq.length;
var close = find_closing_bracket(_css,start)
if (close > start){
var nao = _mq+_css.substring(start,close+1);
var ise = nao.indexOf(_cur+'{') > -1 ? true : false;
_ret[m] = {css:nao,is_edited:ise};
_glo = _glo.replace(nao,'')
}
}
}
}
var nse = _glo.indexOf(_cur+'{') > -1 ? true : false;
_ret['all'] = {css:_glo,is_edited:nse};
self.postMessage({type:'return_mq_edits',val:_ret});
}
if (d.type == 'default_classes'){
var code = d.val;
var g = code.split('// START');
g.shift()
var the_props = {}
var idx = 0;
var l = g.length;
for (var a in g){
idx++;
var cont = g[a];
var desc = cont.split('// DESC:')[1]
desc = desc.split('\n')[0]
cont = cont.replace('// DESC:'+desc,'')
var grup = cont.split('// GROUP:')[1]
grup = grup.split('\n')[0]
cont = cont.replace('// GROUP:'+grup,'')
var props = cont.trim();
var sel = props.split('{')[0].trim();
desc = desc.trim();
grup = grup.toLowerCase().trim();
if (!the_props[grup]) the_props[grup] = []
var ob = {sel:sel,desc:desc,unid:'uni-'+idx}
less.render(code+'.hero-snippet-prev.uni-'+idx+'{'+sel+';}', '', function(error, output) {
if (!error) ob['render'] = output.css;
})
the_props[grup].push(ob)
}
var retu = '<div class="hero-description">Snippets are groups of re-usable edits that you can apply on the fly.</div>'+return_snippet_html(the_props)
self.postMessage({type:'default_classes_return',val:retu});
}
if (d.type == 'less'){
var requires = d.built_in_libs;
var code = d.val;
var imports = '';
// GRAB IMPORTS
var imp_code = code;
var imp_comm_arr = imp_code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
if (imp_comm_arr){
imp_comm_arr.forEach((e) => {
imp_code = imp_code.replace(e,'')
});
}
var impos = imp_code.match(/@import(.*?)\;/g)
for (var w in impos){
imports += impos[w]+'\n'
code = code.replace(impos[w],'')
}
// END GRAB IMPORTS
// CUSTOM MQ MATCH
var custom_mqs = {}
var mq_code = code;
// REMOVE COMMENTS
if (code.indexOf('@media') > -1){
var comm_arr = mq_code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
if (comm_arr){
comm_arr.forEach((e) => {
mq_code = mq_code.replace(e,'')
});
}
// REMOVE NESTEDS
for(var i=0; i<mq_code.length;i++) {
if (mq_code[i] === "{"){
var end = find_closing_bracket(mq_code, i);
var nao = mq_code.substring(i,end+1);
mq_code = mq_code.replace(nao,'{}');
}
}
//var mqs = mq_code.match(/@media[^{]*\{(?:(?!\}\s*\}).)*/gis)
var mqs = mq_code.split('@media');
mqs.shift()
for (var m in mqs){
var _mq = mqs[m].split('{')[0].trim();
// CONDIZIONE RIVEDIBILE
if (_mq.indexOf('@') == -1) custom_mqs[m] = '@media '+_mq;
}
}
// END CUSTOM MQ MATCH
var req_lines = requires.split(/\r\n|\r|\n/).length
less.render(requires+code).then(result => {
self.postMessage({type:'css',val:result.css,imps:imports,custom_mqs:custom_mqs});
},function(eror){
self.postMessage({type:'less_error',val:eror,rql:req_lines});
})
}
if (d.type == 'scan_classes'){
var code = d.val;
var ori_code = code;
code = code.replace(/ /g,' ').replace(/ \(/g,'(').replace(/\( /g,'(').replace(/ \{/g,'{').replace(/\{ /g,'{')
var comm_arr = code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
if (comm_arr){
comm_arr.forEach((e) => {
code = code.replace(e,'')
});
}
var ufo = code.match(/\.(.*?)\{/g)
var classes = {}
for (var u in ufo){
var e = ufo[u];
if(e.indexOf('(')>-1){
if (e.indexOf(':')>-1 && e.indexOf('(@') == -1){
} else {
var s = code.indexOf(e) + e.length;
var g =find_closing_bracket(code, s);
var f = code.substring(s,g).trim();
var cl = e.split('{')[0];
classes[cl] = f;
}
}
}
var the_ret_classes = {'custom':[]}
for (var a in classes){
var rand = Math.floor((Math.random() * 1000) + 1);
var ob = {sel:a,desc:'',unid:'randy-'+rand,props:classes[a]}
less.render(a+'{'+classes[a]+'} .hero-snippet-prev.randy-'+rand+'{'+a+';}', '', function(error, output) {
if (!error){
ob['render'] = output.css;
} else {
ob['render'] = '';
}
})
the_ret_classes['custom'].push(ob)
}
var the_html = return_snippet_html(the_ret_classes)
var retu = {variables:classes,the_html:the_html}
self.postMessage({type:'return_classes',val:retu});
}
if (d.type == 'page_colors'){
var str = d.val
var mum = str.split('color:')
var ccs = [];
for (var m in mum){
var c = mum[m].split(';')[0].replace('!important','')
if (c.indexOf('rgb(')>0 && ccs.indexOf(c) == -1){
ccs.push(c)
}
}
self.postMessage({type:'return_page_colors',val:ccs});
}
if (d.type == 'scan_vars'){
var code = d.val;
code = code.split('@media').join('').split('@import').join('').split('@-moz-').join('').split('@-webkit-').join('').split('@-ms-').join('').split('@-o-').join('')
var comm_arr = code.match(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm);
if (comm_arr){
comm_arr.forEach((e) => {
code = code.replace(e,'')
});
}
var ori_code = code;
code = code.replace(/ *\([^)]*\) */g, "");
for(var i=0; i<code.length;i++) {
if (code[i] === "{"){
var end = find_closing_bracket(code, i);
var nao = code.substring(i,end+1);
code = code.replace(nao,'');
}
}
var strip = '';
var record = false;
for(var i=0; i<code.length;i++) {
if (code[i] === "@"){
record = true;
}
if (code[i]=== ':'){
record = false;
strip+= ','
}
/*
if (code[i] === ';'){
record = false;
strip += ';'
}
*/
if (record) strip += code[i]
}
strip = strip.replace(/;/g,',').split(',,').join('').replace(/\s/g, "").split(',')
ori_code = ori_code.replace(/ /g,' ').replace(/: /g,':').replace(/ :/g,':')
var uniq = strip => [...new Set(strip)];
var array = Array.from(strip);
var vars = {}
var flat = '';
for (var a in array){
var v = array[a];
var u = ori_code.indexOf(v+':')
var c = ori_code.substring(u+v.length+1,ori_code.length).split(';')[0]
if (v && v != '' && v != '@' && v.indexOf('*')==-1 && v.indexOf('/')==-1 && v.indexOf('+')==-1 && v.indexOf('-')==-1){
vars[v] = {value:c.trim()};
flat += v+':'+c+';'
}
}
for (var v in vars){
var render = vars[v].value
less.render(flat+'.test{value:'+render+';}', '', function(error, output) {
if (!error){
var val = output.css
var c = val.split('value:')[1]
c = c.split(';')[0]
c = c.trim();
vars[v]['compiled'] = c;
}
})
}
self.postMessage({type:'return_vars',val:vars});
}
}, false);
function find_closing_bracket(str, pos){
if (str[pos] != '{') {
//throw new Error("No '{' at index " + pos);
}
let depth = 1;
for (let i = pos + 1; i < str.length; i++) {
switch (str[i]) {
case '{':
depth++;
break;
case '}':
if (--depth == 0) {
return i;
}
break;
}
}
return -1; // No matching closing parenthesis
}
function return_snippet_html(obj){
var zippo = '';
for (var o in obj){
var snips = obj[o];
if (o == 'custom'){
var cla = '';
var title = 'Your Snippets';
var mod_snippet = '<span class="mod-snippet">Modify Snippet</span>';
} elseĀ {
var cla = '';
var title = o;
var mod_snippet = '';
}
zippo += '<div class="hero-snippet-group '+cla+'" data-group="'+o+'"><div class="hero-group-head ico">'+title+'</div><div class="hero-snippet-group-inner">';
for (var s in snips){
var claname = snips[s].sel;
var unid = snips[s].unid;
var params = claname.split('(')[1].slice(0, -1);
var params = params.replace(/;/g,',')
if (params.indexOf('@')>-1){
var reparams = '<div class="snippet-params">';
var par = params.split(',');
for (var i in par){
var parval = par[i].split(':')[1];
var parnam = par[i].split(':')[0];
var pick = '';
var var_render = '<div class="hero-load-vars ico oe">\
<div class="hero-extra scroller var-loader">\
<div class="extra-title">\
<span>Variables</span>\
<span class="hero-closer ico"></span>\
</div>\
<div class="var-loader-inner"></div>\
</div>\
</div>';
if (parnam == '@icon' && claname.indexOf('.icon-fa')>-1){
/// FONTAWESOME
reparams += '<div class="snippet-par icons-browser scroller" data-reference="'+parnam+'">';
for (var fa in fa_icons){
reparams += '<div class="icon-el" data-val="'+fa_icons[fa]+'" style="background-image:url(//cdn.rawgit.com/encharm/Font-Awesome-SVG-PNG/266b63d5/black/svg/'+fa_icons[fa]+'.svg);"></div>';
}
reparams += '</div>'
}
reparams += '<div class="snippet-par" data-par-hook="'+parnam+'"><span>'+parnam+'</span><div><input class="snipar" value="'+parval+'" />'+pick+var_render+'</div></div>'
}
reparams += '</div>'
} else {
var reparams = '';
}
var style = '<style>'+snips[s].render+'</style>';
zippo += '<div class="hero-snippet hero-oe-ref" data-cla-name="'+claname+'">'+style+'<header>'+claname.split('(')[0]+'</header><div class="hero-snippet-wrap"><div class="hero-snippet-prev '+unid+'">'+claname.split('(')[0]+'</div></div><p>'+snips[s].desc+'</p>'+reparams+'<div class="hero-snippet-footer">'+mod_snippet+'<span class="preview-snippet"><span></span>Preview</span><span class="apply-snippet"></span></div></div>'
}
zippo += '</div><div class="hero-back-to-group"><span>Back</span></div></div>'
}
return zippo;
}
function remove_unused_gfonts(code){
var gfonts = code.match(/fonts.googleapis.com(.*?)\;/g)
for (var g in gfonts){
var new_g = gfonts[g]
var fonts = gfonts[g].replace(/'/g,'').replace(/"/g,'').split(')')[0].split('=')[1].split('|');
for (var f in fonts){
var f_check = fonts[f].split('+').join(' ');
if (f_check && code.split(f_check).length <= 2){
code = code.split(fonts[f]+'|').join('')
code = code.split(fonts[f]).join('')
code = code.split("@import url('https://fonts.googleapis.com/css?family=');").join('')
code = code.split("@import url(https://fonts.googleapis.com/css?family=);").join('')
code = code.split('@import url("https://fonts.googleapis.com/css?family=");').join('')
}
}
}
}
// Alone in winter by fair means is impossible