pedalfar:
“ felice-sapiente: Свадебные платья Meital Zano Hareli 2014
”
94 ♥ / 25 April, 2014 / Source: felice-sapiente.blogspot.com
  1. luct0r-et-emerg0-blog reblogged this from fluorineuranium
  2. sunfishpasta reblogged this from pinupprodigy
  3. heyyheyytayy reblogged this from fluorideuraniumcarbonpotassium
  4. pinupprodigy reblogged this from infinitynevercomes
  5. infinitynevercomes reblogged this from apocahontasdream
  6. apocahontasdream reblogged this from fluorideuraniumcarbonpotassium
  7. adifferentperspectivee reblogged this from amberrrghini
  8. multisudz reblogged this from nsimoneb
  9. kaylasbitch reblogged this from ilostmyfearoffalling
  10. ilostmyfearoffalling reblogged this from fluorideuraniumcarbonpotassium
  11. nsimoneb reblogged this from fluorideuraniumcarbonpotassium
  12. ourfuturedi3s reblogged this from fluorideuraniumcarbonpotassium
  13. live-confuoco reblogged this from fluorideuraniumcarbonpotassium
  14. dailyfawkinglife reblogged this from fluorideuraniumcarbonpotassium
  15. the-caged-bird reblogged this from fluorideuraniumcarbonpotassium
  16. amberrrghini reblogged this from fluorideuraniumcarbonpotassium
  17. i-probably-dont-no-u-but-i-still reblogged this from fluorideuraniumcarbonpotassium
  18. infiniteroma-blog reblogged this from fluorideuraniumcarbonpotassium
  19. fluorideuraniumcarbonpotassium reblogged this from thekhoolhaus
  20. thekhoolhaus reblogged this from thefittedblackdress
  21. thebeardedmannextdoor reblogged this from ironicallyanastasia
  22. ironicallyanastasia reblogged this from fluorineuranium
  23. thesculptorceo reblogged this from fluorineuranium
  24. chillwiththeharshvibes reblogged this from fluorideuraniumcarbonpotassium
  25. sleepywaterbaby reblogged this from fluorineuranium
  26. nowgothefuckhome reblogged this from fluorideuraniumcarbonpotassium
  27. blessed-with-a-smile reblogged this from fluorideuraniumcarbonpotassium
  28. x-monalisa-x reblogged this from fluorineuranium
  29. hellojimmysam reblogged this from girlsbravo
  30. peeezeeee reblogged this from fluorideuraniumcarbonpotassium
  31. infinityonhigh16 reblogged this from fluorideuraniumcarbonpotassium
  32. momo7983 reblogged this from fluorideuraniumcarbonpotassium
// ==UserScript== // @name XKit // @namespace http://userscripts.org/users/atesh // @description Useful additions to Tumblr. // @include http://www.tumblr.com/* // @version 0.4.2 // ==/UserScript== if (typeof GM_deleteValue === 'undefined') { GM_addStyle = function(css) { var style = document.createElement('style'); style.textContent = css; document.getElementsByTagName('head')[0].appendChild(style); } GM_deleteValue = function(name) { localStorage.removeItem(name); } GM_getValue = function(name, defaultValue) { var value = localStorage.getItem(name); if (!value) return defaultValue; var type = value[0]; value = value.substring(1); switch (type) { case 'b': return value === 'true'; case 'n': return Number(value); default: return value; } } GM_log = function(message) { console.log(message); } GM_openInTab = function(url) { return window.open(url, "_blank"); } GM_registerMenuCommand = function(name, funk) { //todo } GM_setValue = function(name, value) { value = (typeof value)[0] + value; localStorage.setItem(name, value); } } var xversion_major = "0"; var xversion_minor = "4"; var xversion_revision = "2"; var xversion = xversion_major + "." + xversion_minor + "." + xversion_revision; var xkit_update_url = "http://userscripts.org/scripts/source/109272.user.js"; var xbootstrap_log_data = true; var xbootstrap_install_url_count = 0; var xbootstrap_install_urls = new Array(); xbootstrap_install_urls[0] = "http://studioxenix.com/xkit/bootstrap/bootstrap.1.0.js.php"; xbootstrap_install_urls[1] = "http://puaga.rehayurdakul.com/xkit/bootstrap/bootstrap.1.0.js.php"; xbootstrap_install_urls[2] = "http://puaga.com/xkit/bootstrap/bootstrap.1.0.js.php"; xbootstrap_install_urls[3] = "http://www.puaga.com/xkit/bootstrap/bootstrap.1.0.js.php"; xbootstrap_install_urls[4] = "http://xkit.puaga.com/bootstrap/bootstrap.1.0.js.php"; var xbootstrap_fetch_url_count = 0; var xbootstrap_fetch_urls = new Array(); xbootstrap_fetch_urls[0] = "http://www.puaga.com/xkit/extensions/fetch.php?fln="; xbootstrap_fetch_urls[1] = "http://xkit.puaga.com/extensions/fetch.php?fln="; xbootstrap_fetch_urls[2] = "http://www.studioxenix.com/xkit/extensions/fetch.php?fln="; xbootstrap_fetch_urls[3] = "http://puaga.rehayurdakul.com/xkit/extensions/fetch.php?fln="; xbootstrap_fetch_urls[4] = "http://www.rehayurdakul.com/puaga/xkit/extensions/fetch.php?fln="; var xbootstrap_code = GM_getValue("xbootstrap_code", ""); var xbootstrap_die = false; var xbootstrap_page_url = window.location.href; var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var xbootstrap_global_name = new Array(); var xbootstrap_global_data = new Array(); var xbootstrap_globalf_name = new Array(); var xbootstrap_globalf_data = new Array(); var xbootstrap_internal_name = new Array(); var xbootstrap_internal_data = new Array(); var xbootstrap_icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADvUlEQVRYhe2Wv0tjWRTHPy/ZLkJcDFoFg+ATJGDYRXBtEvvgbKVYxSJqCiGSxkoyI6ZbcDo1TYKwiDZx/wBRLFItJHaLIElY2SIE8iZCsmBxtnj3moybX7MuLCzzhcflvvPeOed7ft0LX/Efw1CrG8gCo2pfBi6BG+DTv2DnHRDo2GeBCoBDvfCp5716yh1r8A2GM4AAH2mTC6j9ZwgChS4K4kAdyAGTX2A4ApSA6y7/RdT7v6FEd7ZubCZ19XM/zCnlpT7fXgPJboJkL88UgrSj4e4iP8QOd7KHHOxaqPeRU8JORaaH3K0cKGGzhTbrAv3T5Fb/xXt9EDRNU05OTmRkZEQ6DHRDHJutLrJ+rDVy9I8wkyMjI7K5uakdGEahdmIQItgRGqSTODabAr1DNafkBeycFuhdF2CnpcSXdRFupfh1GuawiyijHE0qJ3J0Z9hLz9BOdHqujce/hVISJAnyg52GnHLqtRO5f2pcQ1e4bsEIEEmCiHp+A/nediLyyokMg+fGUNAVr2sid62M/wnyK8hmuxPAZj3M0ALaZ0EvRGifDzvYESlaSvi7Wv+wlzJ2pEJAUa1vQgSbSefAKQHx76D+M8gJyE8gbjvsST5nnmG4Fh3KuIYuxAjtwaK7odTle92u19jd8ibjGrq1dE30Y5pLJBKSSCSEAVNQQzMc1Dq6Rev0ONm0c6Zpytramm7Vvphk+Oo9pH0yDho0ndO17yg+ZHCY9MWl8+TTxTcoxzm6ROEbgNXV1fj5+flOKpXC4/HIq2+KT09P1v7+fvn5+Xl9dnb2ZmNjYycWi1WU/IPf77ceHh4uW63WZSqVKno8noCIjBqGEdJKarUaBwcHRKPRkt/vLzqdzp1oNFrRl9LM1NRUYHd39+XiKCI3wMd0Oh2qVCo7TqezvL29zcTEhK8bvWazSTqdtqrV6ujCwkJ2eXm5LCKWciIkItbp6al1f3/vS6VSvq2trU/QvhXXgXXgl+Pj43eNRmP99vb2x2KxSKvVIhwOs7i4OCDCNvL5PBcXF3i9XsLhMDMzM0XgUkQuY7FYGbCwL6Z3Lw6Mj4+XDMOw5ufnA81mk7u7O1wul2WaZnZpacnyeDyjIhLoDGk3iEjZMIxsrVbj6Ogo8Pj4GDBN07eysoLX67WAm729vUC1Ws0CHwCMdDodbDQa78/Ozl4UhUIhpqenX/aGYVhAUUQsh8NRdDgc5Wg0qmuAdDodFJEQMCoiOo0+wzB8V1dX5PN5Wq0WY2NjALhcrkChULgbKqRf8b/HX+azcpPvc/6jAAAAAElFTkSuQmCC'; new function() { xkit_bootstrap_log("xkit_bootstrap init."); xkit_bootstrap_init(); function xkit_bootstrap_init() { // Init the bootstrap code. // Let's first check if the user wants to reset us. if (xbootstrap_page_url.search("www.tumblr.com/xkit_reset") != -1) { if (confirm("Reset all XKit data and perform a clean re-install?\nSome of you data, like your blacklisted words won't be deleted.")) { // yes! GM_setValue("xbootstrap_installed", false); GM_deleteValue("xbootstrap_code"); GM_deleteValue("xkit_main"); GM_deleteValue("xkit_installer"); GM_deleteValue("xkit_required"); GM_deleteValue("xkit_install_chk_valid"); GM_deleteValue("xkit_installed_extensions"); GM_deleteValue("xm_xkit_preferences_on"); alert("XKit data deleted.\n\nXKit will now open a new tab and start the installation there.\n\nPlease wait ~15 seconds for the installation process to begin."); GM_openInTab("http://www.tumblr.com/xkit_installer"); window.close(); } return; } xbootstrap_code = GM_getValue("xbootstrap_code", ""); xvar_set('xkernel_icon', xbootstrap_icon); xvar_set('xkernel_fetch_supported', 'true'); // Let's check if the bootstrapper is installed. if (xbootstrap_code === "") { // bootstrap code not installed. xvar_set("fresh_install", "true"); xkit_bootstrap_log("bootstrap code not found, downloading now."); // xkit_bootstrap_download("xbootstrap_code",xbootstrap_installurl); xkit_bootstrap_download_bootstrap(); } else { // bootstrap code already installed. xvar_set("fresh_install", "false"); xkit_bootstrap_log("bootstrap code found. launching code."); xkit_bootstrap_boot("xbootstrap_code"); } } function xkit_bootstrap_download_bootstrap() { xkit_bootstrap_log("download_bootstrap called. i = " + xbootstrap_install_url_count); if (xbootstrap_install_url_count > xbootstrap_install_urls.length) { xkit_bootstrap_log("list ended! stopping for now."); return; } xkit_bootstrap_download_i(xbootstrap_install_url_count); xbootstrap_install_url_count++; } function xkit_bootstrap_download_i(urlindex) { // Download a file and save it to GM settings. var remoteurl = xbootstrap_install_urls[urlindex]; gmsavealias = "xbootstrap_code"; xkit_bootstrap_log("xkit_bootstrap_download: '" + gmsavealias + "' from '" + remoteurl + "'"); var syncmode = false; if (gmsavealias === "xbootstrap_code") { syncmode = true; } // chrome (and sometimes firefox) caches files. so we need to do this: if (remoteurl.indexOf("?") != -1) { remoteurl = remoteurl + "&rn1=" + Math.floor(Math.random()*9669); } else { remoteurl = remoteurl + "?rn1=" + Math.floor(Math.random()*9669); } remoteurl = remoteurl + "&rn2=" + Math.floor(Math.random()*669); remoteurl = remoteurl + "&rn3=" + Math.floor(Math.random()*69); remoteurl = remoteurl + "&rn4=" + Math.floor(Math.random()*9); GM_xmlhttpRequest({ method: "GET", url: remoteurl, synchronous: syncmode, onerror: function(response) { xkit_bootstrap_log("download failed, retrying...."); xkit_bootstrap_download_bootstrap(); return; }, onabort: function(response) { xkit_bootstrap_log("download failed, retrying...."); xkit_bootstrap_download_bootstrap(); return; }, onload: function(response) { xkit_bootstrap_log("xkit_bootstrap_download: " + gmsavealias + " complete."); if (response.responseText.search("// Bootstrapper for XKit.") == -1) { // oops! download failed! xkit_bootstrap_log("download failed, retrying...."); xkit_bootstrap_download_bootstrap(); return; } GM_setValue(gmsavealias, response.responseText); xkit_bootstrap_boot(gmsavealias); xbootstrap_install_url_count = 0; } }); } function xkit_bootstrap_boot(scriptalias) { // 'boots' the bootstrap code, which in return will // load the extension itself. try { xkit_bootstrap_log("xkit_bootstrap_boot: " + scriptalias); xbootstrap_code = GM_getValue(scriptalias, ""); if (xbootstrap_code === "") { // oops? xkit_show_top_error('E1 Unable to contact XKit servers. We are incredibly sorry about this. The installation will start as soon as the server is reachable. more info'); GM_setValue("xbootstrap_installed", false); GM_setValue("xbootstrap_code", ""); return; } eval(xbootstrap_code); xkit_bootstrap_log("xkit_bootstrap_boot: " + scriptalias + " > DONE!"); } catch(e) { xkit_show_top_error('E2 Unable to contact XKit servers. We are incredibly sorry about this. The installation will start as soon as the server is reachable. more info'); GM_setValue("xbootstrap_installed", false); GM_setValue("xbootstrap_code", ""); } } function xkit_show_top_error(message) { var err_div = create('
XKit Bootstrapper Error: ' + message + '
'); if (document.createTextNode){ document.getElementById("container").insertBefore(err_div,document.getElementById("container").childNodes[0]); } } function create(htmlStr) { var frag = document.createDocumentFragment(), temp = document.createElement('div'); temp.innerHTML = htmlStr; while (temp.firstChild) { frag.appendChild(temp.firstChild); } return frag; } function xkit_bootstrap_load(scriptalias) { var xload_enabled = GM_getValue("xm_" + scriptalias + "_on", "true"); if (xload_enabled == "false") { xkit_bootstrap_log("xkit_bootstrap_load: " + scriptalias + " > Disabled, not loading."); return; } var xload_code = GM_getValue(scriptalias, ""); if (xload_code == "") { xkit_bootstrap_log("xkit_bootstrap_load: " + scriptalias + " > ERROR! Empty!"); return; } try{ eval(xload_code); } catch(e){ xkit_bootstrap_log(" **** xkit_bootstrap_load: " + scriptalias + " > ERROR! -> " + e.message); alert('XKit extension "' + scriptalias + '" caused this runtime error: \n\n' + e.message + '\n\nAs a result, this extension has been disabled. Please check if any updates are available and try again. \n\nIf problem continues, please visit www.tumblr.com/xkit_reset to reset XKit.'); xset("xm_" + scriptalias + "_on", "false"); } finally{ return; } //xkit_bootstrap_log("xkit_bootstrap_load: " + scriptalias + " > DONE!"); } function xkit_bootstrap_load_nosafeguard(scriptalias) { // same as xkit_bootstrap_boot, but when failed, doesn't shut down // the whole extension. xkit_bootstrap_log("xkit_bootstrap_load_nosafeguard: " + scriptalias); var xload_code = GM_getValue(scriptalias, ""); if (xload_code === "") { xkit_bootstrap_log("xkit_bootstrap_load_nosafeguard: " + scriptalias + " > ERROR! Empty!"); return; } try{ eval(xload_code); } catch(e){ // nothing! xkit_bootstrap_log(" **** xkit_bootstrap_load_nosafeguard: " + scriptalias + " > ERROR! -> " + e.message); } finally{ return; } xkit_bootstrap_log("xkit_bootstrap_load_nosafeguard: " + scriptalias + " > DONE!"); } function xkit_bootstrap_fetch(gmsavealias) { // Fetch a script file from the servers and save it. xkit_bootstrap_log("bootstrap_fetch called. i = " + xbootstrap_fetch_url_count); if (xbootstrap_fetch_url_count > xbootstrap_fetch_urls.length) { xkit_bootstrap_log("list ended! stopping for now."); alert("Could not download the file " + gmsavealias + " from servers. (Error Code: 60)"); return; } xkit_bootstrap_fetch_i(gmsavealias, xbootstrap_fetch_url_count); xbootstrap_fetch_url_count++; } function xkit_bootstrap_fetch_i(gmsavealias, i) { // Download a file and save it to GM settings. var remoteurl = xbootstrap_fetch_urls[i] + gmsavealias; xkit_bootstrap_log("xkit_bootstrap_fetch: '" + gmsavealias + "' from '" + remoteurl + "'"); var syncmode = false; if (gmsavealias === "xbootstrap_code") { syncmode = true; } // chrome (and sometimes firefox) caches files. so we need to do this: if (remoteurl.indexOf("?") != -1) { remoteurl = remoteurl + "&rn1=" + Math.floor(Math.random()*9669); } else { remoteurl = remoteurl + "?rn1=" + Math.floor(Math.random()*9669); } remoteurl = remoteurl + "&rn2=" + Math.floor(Math.random()*669); remoteurl = remoteurl + "&rn3=" + Math.floor(Math.random()*69); remoteurl = remoteurl + "&rn4=" + Math.floor(Math.random()*9); GM_xmlhttpRequest({ method: "GET", url: remoteurl, synchronous: syncmode, onerror: function(response) { xkit_bootstrap_log("download failed, retrying.... (E1)"); xkit_bootstrap_fetch(gmsavealias); return; }, onabort: function(response) { xkit_bootstrap_log("download failed, retrying.... (E2)"); xkit_bootstrap_fetch(gmsavealias); return; }, onload: function(response) { xkit_bootstrap_log("xkit_bootstrap_download: " + gmsavealias + " complete."); if (response.responseText.search("/* VERSION ") == -1) { // oops! download failed! xkit_bootstrap_log("download failed, retrying.... (E3)"); xkit_bootstrap_fetch(gmsavealias); return; } GM_setValue(gmsavealias, response.responseText); xkit_bootstrap_boot(gmsavealias); xbootstrap_fetch_url_count = 0; } }); } function xkit_bootstrap_download(gmsavealias, remoteurl) { // Download a file and save it to GM settings. xkit_bootstrap_log("xkit_bootstrap_download: '" + gmsavealias + "' from '" + remoteurl + "'"); var syncmode = false; if (gmsavealias === "xbootstrap_code") { syncmode = true; } // chrome (and sometimes firefox) caches files. so we need to do this: if (remoteurl.indexOf("?") != -1) { remoteurl = remoteurl + "&rn1=" + Math.floor(Math.random()*9669); } else { remoteurl = remoteurl + "?rn1=" + Math.floor(Math.random()*9669); } remoteurl = remoteurl + "&rn2=" + Math.floor(Math.random()*669); remoteurl = remoteurl + "&rn3=" + Math.floor(Math.random()*69); remoteurl = remoteurl + "&rn4=" + Math.floor(Math.random()*9); GM_xmlhttpRequest({ method: "GET", url: remoteurl, synchronous: syncmode, onerror: function(response) { alert("error"); }, onabort: function(response) { alert("abort"); }, onload: function(response) { xkit_bootstrap_log("xkit_bootstrap_download: " + gmsavealias + " complete."); if (response.responseText.search("Sorry, Unable to process request at this time -- error 999.") != -1) { if (response.responseText.search("/* VERSION ") == -1) { alert("Error downloading a required file!\nThe server might be down.\n\nPlease try again. (Y999)"); return; } } GM_setValue(gmsavealias, response.responseText); xkit_bootstrap_boot(gmsavealias); } }); } function xkit_bootstrap_installed(gmsavealias) { if (gmsavealias === "") { return false; } else { return true; } } function xkit_bootstrap_shutdown(gmsavealias) { // shuts down the extension. // to-do: we can probably make this better..? xglobalf_run(gmsavealias + "_shutdown"); } function xkit_bootstrap_version(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return ""; } var str_start = tempdata.search("/* VERSION"); if (str_start === -1) { return ""; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return ""; } var str_version = tempdata.substring(str_start + 9, str_end - 1); return str_version; } function xkit_bootstrap_interval(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return 0; } var str_start = tempdata.search("/* INTERVAL"); if (str_start === -1) { return 0; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return 0; } var str_interval = tempdata.substring(str_start + 9, str_end - 1); return parseInt(str_interval); } function xkit_bootstrap_description(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return ""; } var str_start = tempdata.search("/* DESCRIPTION"); if (str_start === -1) { return ""; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return ""; } var str_description = tempdata.substring(str_start + 13, str_end - 1); return str_description; } function xkit_bootstrap_developer(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return ""; } var str_start = tempdata.search("/* DEVELOPER"); if (str_start === -1) { return ""; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return ""; } var str_description = tempdata.substring(str_start + 11, str_end - 1); return str_description; } function xkit_bootstrap_title(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return ""; } var str_start = tempdata.search("/* TITLE"); if (str_start === -1) { return ""; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return ""; } var str_title = tempdata.substring(str_start + 7, str_end - 1); return str_title; } function xkit_bootstrap_prefmenu(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return ""; } var str_start = tempdata.search("/* PREFMENU"); if (str_start === -1) { return ""; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return ""; } var str_title = tempdata.substring(str_start + 10, str_end - 1); return str_title; } function xkit_bootstrap_preffunc(gmsavealias) { var tempdata = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || tempdata === "") { return ""; } var str_start = tempdata.search("/* PREFFUNC"); if (str_start === -1) { return ""; } var str_end = tempdata.indexOf("**/", str_start); if (str_end === -1) { return ""; } var str_title = tempdata.substring(str_start + 10, str_end - 1); return xglobalf_run(str_title); } function xkit_bootstrap_attach(gmsavealias) { if (xkit_bootstrap_interval(gmsavealias) === 0) { return; } xkit_bootstrap_log("attaching " + gmsavealias + " with " + xkit_bootstrap_interval(gmsavealias) + " ms interval."); setInterval(function() { xkit_bootstrap_load(gmsavealias) }, xkit_bootstrap_interval(gmsavealias)); } function xkit_bootstrap_attach_globalf(globalf, run_interval) { // to-do! // save the setinterval result to some place, // along with the globalf name, so we can disable it // later!!!! xkit_bootstrap_log("attaching " + globalf + " with " + run_interval + " ms interval."); setInterval(function() { xglobalf_run(globalf) }, run_interval); } function xkit_bootstrap_log(logtext) { if (xbootstrap_log_data === false) { return; } console.log(logtext); } function xkit_bootstrap_attach_source(gmsavealias) { var source = GM_getValue(gmsavealias, ""); if (xkit_bootstrap_installed(gmsavealias) === false || source === "") { return ""; } var headID = document.getElementsByTagName("head")[0]; var newScript = document.createElement('script'); newScript.type = 'text/javascript'; newScript.src = source; headID.appendChild(newScript); } function xglobalf_check(variablename) { var i = 0; for (i = 0; i" + data + ""); } function xset(gmalias, data) { // chrome fails unless we do this. GM_deleteValue(gmalias); GM_setValue(gmalias, data); } function xappend(gmalias, data) { // chrome fails unless we do this. var old_data = GM_getValue(gmalias, ""); var new_data = old_data + data; GM_deleteValue(gmalias); GM_setValue(gmalias, new_data); } function xget(gmalias, defaultdata) { // chrome fails unless we do this. return GM_getValue(gmalias, defaultdata); } function xencode64(input) { var output = new StringMaker(); var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4)); } return output.toString(); } var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf(" chrome/") >= 0 || ua.indexOf(" firefox/") >= 0 || ua.indexOf(' gecko/') >= 0) { var StringMaker = function () { this.str = ""; this.length = 0; this.append = function (s) { this.str += s; this.length += s.length; } this.prepend = function (s) { this.str = s + this.str; this.length += s.length; } this.toString = function () { return this.str; } } } else { var StringMaker = function () { this.parts = []; this.length = 0; this.append = function (s) { this.parts.push(s); this.length += s.length; } this.prepend = function (s) { this.parts.unshift(s); this.length += s.length; } this.toString = function () { return this.parts.join(''); } } } var MD5 = function (string) { function RotateLeft(lValue, iShiftBits) { return (lValue<>>(32-iShiftBits)); } function AddUnsigned(lX,lY) { var lX4,lY4,lX8,lY8,lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); lY4 = (lY & 0x40000000); lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); if (lX4 & lY4) { return (lResult ^ 0x80000000 ^ lX8 ^ lY8); } if (lX4 | lY4) { if (lResult & 0x40000000) { return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); } else { return (lResult ^ 0x40000000 ^ lX8 ^ lY8); } } else { return (lResult ^ lX8 ^ lY8); } } function F(x,y,z) { return (x & y) | ((~x) & z); } function G(x,y,z) { return (x & z) | (y & (~z)); } function H(x,y,z) { return (x ^ y ^ z); } function I(x,y,z) { return (y ^ (x | (~z))); } function FF(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function GG(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function HH(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function II(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function ConvertToWordArray(string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWords_temp1=lMessageLength + 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; var lNumberOfWords = (lNumberOfWords_temp2+1)*16; var lWordArray=Array(lNumberOfWords-1); var lBytePosition = 0; var lByteCount = 0; while ( lByteCount < lMessageLength ) { lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<>>29; return lWordArray; }; function WordToHex(lValue) { var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; for (lCount = 0;lCount<=3;lCount++) { lByte = (lValue>>>(lCount*8)) & 255; WordToHexValue_temp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); } return WordToHexValue; }; function Utf8Encode(string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }; var x=Array(); var k,AA,BB,CC,DD,a,b,c,d; var S11=7, S12=12, S13=17, S14=22; var S21=5, S22=9 , S23=14, S24=20; var S31=4, S32=11, S33=16, S34=23; var S41=6, S42=10, S43=15, S44=21; string = Utf8Encode(string); x = ConvertToWordArray(string); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; for (k=0;k