[Pkg-mozext-commits] [flashgot] 02/04: Imported Upstream version 1.5.6.13+dfsg

Michael Meskes meskes at moszumanska.debian.org
Sat Mar 19 10:02:12 UTC 2016


This is an automated email from the git hooks/post-receive script.

meskes pushed a commit to branch master
in repository flashgot.

commit f4ee039033bcee22fc39723021bde3a2913ec380
Author: Michael Meskes <meskes at debian.org>
Date:   Sat Mar 19 10:53:52 2016 +0100

    Imported Upstream version 1.5.6.13+dfsg
---
 META-INF/manifest.mf                               |  42 ++
 META-INF/mozilla.rsa                               | Bin 0 -> 4196 bytes
 META-INF/mozilla.sf                                |   4 +
 chrome/flashgot.jar!/content/flashgot/API.jsm      |  22 +
 chrome/flashgot.jar!/content/flashgot/DMS.js       | 641 ++++++++++-----------
 chrome/flashgot.jar!/content/flashgot/about.xul    |   4 +-
 chrome/flashgot.jar!/content/flashgot/contents.rdf |   2 +-
 .../locale/af-ZA/flashgot/flashgot.dtd             |   2 +-
 .../locale/be-BY/flashgot/about.properties         |  18 +-
 .../locale/be-BY/flashgot/flashgot.dtd             | 100 ++--
 .../locale/be-BY/flashgot/flashgot.properties      |  38 +-
 .../locale/bg-BG/flashgot/flashgot.dtd             |   2 +-
 .../locale/bn-IN/flashgot/flashgot.dtd             |   2 +-
 .../locale/ca-AD/flashgot/flashgot.dtd             |   2 +-
 .../locale/cs-CZ/flashgot/flashgot.dtd             |   2 +-
 .../locale/da-DK/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/da/flashgot/flashgot.dtd  |   2 +-
 .../flashgot.jar!/locale/de/flashgot/flashgot.dtd  |   2 +-
 .../locale/el-GR/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/el/flashgot/flashgot.dtd  |   2 +-
 .../locale/en-US/flashgot/flashgot.dtd             |   2 +-
 .../locale/es-AR/flashgot/flashgot.dtd             |   2 +-
 .../locale/es-CL/flashgot/flashgot.dtd             |   2 +-
 .../locale/es-ES/flashgot/flashgot.dtd             |   2 +-
 .../locale/et-EE/flashgot/flashgot.dtd             |   2 +-
 .../locale/eu-ES/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/eu/flashgot/flashgot.dtd  |   2 +-
 .../locale/fa-IR/flashgot/flashgot.dtd             |   2 +-
 .../locale/fi-FI/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/fi/flashgot/flashgot.dtd  |   2 +-
 .../flashgot.jar!/locale/fr/flashgot/flashgot.dtd  |   2 +-
 .../locale/gl-ES/flashgot/flashgot.dtd             |   2 +-
 .../locale/he-IL/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/he/flashgot/flashgot.dtd  |   2 +-
 .../locale/hi-IN/flashgot/flashgot.dtd             |   2 +-
 .../locale/hr-HR/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/hu/flashgot/flashgot.dtd  |   2 +-
 .../locale/hy-AM/flashgot/flashgot.dtd             |   2 +-
 .../locale/id-ID/flashgot/flashgot.dtd             |   2 +-
 .../locale/it-IT/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/it/flashgot/flashgot.dtd  |   2 +-
 .../locale/ja-JP/flashgot/flashgot.dtd             |   2 +-
 .../locale/ka-GE/flashgot/flashgot.dtd             |   2 +-
 .../locale/kk-KZ/flashgot/flashgot.dtd             |   2 +-
 .../locale/km-KH/flashgot/flashgot.dtd             |   2 +-
 .../locale/lt-LT/flashgot/flashgot.dtd             |   2 +-
 .../locale/mk-MK/flashgot/flashgot.dtd             |   2 +-
 .../locale/ml-IN/flashgot/flashgot.dtd             |   2 +-
 .../locale/mn-MN/flashgot/flashgot.dtd             |   2 +-
 .../locale/ms-MY/flashgot/flashgot.dtd             |   2 +-
 .../locale/nb-NO/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/nl/flashgot/flashgot.dtd  |   2 +-
 .../flashgot.jar!/locale/pl/flashgot/flashgot.dtd  |   2 +-
 .../locale/pt-BR/flashgot/flashgot.dtd             |   2 +-
 .../locale/pt-PT/flashgot/flashgot.dtd             |   2 +-
 .../locale/ro-RO/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/ru/flashgot/flashgot.dtd  |   2 +-
 .../locale/sk-SK/flashgot/flashgot.dtd             |   2 +-
 .../locale/sl-SI/flashgot/flashgot.dtd             |   2 +-
 .../locale/sq-AL/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/sr/flashgot/flashgot.dtd  |   2 +-
 .../locale/sv-SE/flashgot/flashgot.dtd             |   2 +-
 .../locale/th-TH/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/th/flashgot/flashgot.dtd  |   2 +-
 .../locale/tr-TR/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/tr/flashgot/flashgot.dtd  |   2 +-
 .../locale/uk-UA/flashgot/flashgot.dtd             |   2 +-
 .../flashgot.jar!/locale/uk/flashgot/flashgot.dtd  |   2 +-
 .../flashgot.jar!/locale/vi/flashgot/flashgot.dtd  |   2 +-
 .../locale/zh-CN/flashgot/flashgot.dtd             |   2 +-
 .../locale/zh-TW/flashgot/flashgot.dtd             |   2 +-
 components/flashgotService.js                      | 363 ++++++------
 install.js                                         |   2 +-
 install.rdf                                        |   6 +-
 74 files changed, 728 insertions(+), 636 deletions(-)

diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf
new file mode 100644
index 0000000..4572207
--- /dev/null
+++ b/META-INF/manifest.mf
@@ -0,0 +1,42 @@
+Manifest-Version: 1.0
+
+Name: install.rdf
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: Its+uBUo3NEkddBtYi6RUw==
+SHA1-Digest: SmKVH7v20/U90vjcUPyeQp2/pGE=
+
+Name: chrome.manifest
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: rljIjqaf3b/KnLFp5VlbOQ==
+SHA1-Digest: NQvIvN+FxzuRO54TUv6/ksMxcgI=
+
+Name: FlashGot_License.txt
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: B41iWwCoRIp1qiKtG4CiSw==
+SHA1-Digest: hVuTFtcfnK60d7JsKf4ell2qbXo=
+
+Name: GPL.txt
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: /a/Gkapft/jiqelSH+93Gw==
+SHA1-Digest: HkktDXw+pcQm0470ZxX7bjD5mI4=
+
+Name: install.js
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: mgJO85Lsm3rqem24WRUV8w==
+SHA1-Digest: GPSIFO8o8j+/z9b2ut5WSCUdhbg=
+
+Name: chrome/flashgot.jar
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: yETLC//zekC+xiWaajQyPQ==
+SHA1-Digest: lwCaPEV5lz7e50o3SmC9f388FEY=
+
+Name: components/flashgotService.js
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: GDDcInBhLERttnPvQnPQEA==
+SHA1-Digest: 2BNqzC7+FYJ+cNWeCcCOvq4qa4I=
+
+Name: defaults/preferences/flashgot.js
+Digest-Algorithms: MD5 SHA1
+MD5-Digest: 4BHNSZ+BaZ7GmiADjDUwKw==
+SHA1-Digest: KOu3ERmdGL+fmZgNl5J4BqiR8GI=
+
diff --git a/META-INF/mozilla.rsa b/META-INF/mozilla.rsa
new file mode 100644
index 0000000..9914d46
Binary files /dev/null and b/META-INF/mozilla.rsa differ
diff --git a/META-INF/mozilla.sf b/META-INF/mozilla.sf
new file mode 100644
index 0000000..c60cc25
--- /dev/null
+++ b/META-INF/mozilla.sf
@@ -0,0 +1,4 @@
+Signature-Version: 1.0
+MD5-Digest-Manifest: CvDSDotIbdZOlLS9XUm4OQ==
+SHA1-Digest-Manifest: +vFMG54VxyPYqcC4eYjnIerzGRE=
+
diff --git a/chrome/flashgot.jar!/content/flashgot/API.jsm b/chrome/flashgot.jar!/content/flashgot/API.jsm
new file mode 100644
index 0000000..de36e6e
--- /dev/null
+++ b/chrome/flashgot.jar!/content/flashgot/API.jsm
@@ -0,0 +1,22 @@
+var EXPORTED_SYMBOLS = ["FlashGot"];
+
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+
+var FlashGot = {
+  download: function(links) {
+    let objects = {};
+    if ("document" in links) {
+      objects.document = links.document;
+      delete links.document;
+    }
+    try {
+     Cc["@mozilla.org/childprocessmessagemanager;1"].getService(Ci.nsIMessageSender)
+      .sendAsyncMessage("FlashGot::download", { links: links }, objects);
+    } finally {
+      if ("document" in objects) {
+        links.document = objects.document;
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/chrome/flashgot.jar!/content/flashgot/DMS.js b/chrome/flashgot.jar!/content/flashgot/DMS.js
index 1cd1d62..bb6dfeb 100644
--- a/chrome/flashgot.jar!/content/flashgot/DMS.js
+++ b/chrome/flashgot.jar!/content/flashgot/DMS.js
@@ -16,7 +16,7 @@
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-                             
+
 ***** END LICENSE BLOCK *****/
 
 const ASK_NEVER = [false, false, false];
@@ -83,18 +83,18 @@ FlashGotDM.prototype = {
   get codeName() {
     return this._codeName || (this._codeName = this.name.replace(/\W/g,"_"));
   },
-  
+
   getPref: function(name, def) {
     return fg.getPref("dmsopts." + this.codeName + "." + name, def);
   },
   setPref: function(name, value) {
     fg.setPref("dmsopts." + this.codeName + "." + name, value);
   },
-  
+
   get asciiFilter() {
     return this.getPref("asciiFilter", false);
   },
-  
+
   get shownInContextMenu() {
     return this.getPref("shownInContextMenu", false);
   },
@@ -107,7 +107,7 @@ FlashGotDM.prototype = {
     return fg;
   }
 ,
-  
+
   get exeFile() {
     if (typeof(this._exeFile) == "object") return this._exeFile;
     const exeName = this.exeName;
@@ -138,13 +138,13 @@ FlashGotDM.prototype = {
 
       if (!(fg.getPref("useWine", true) || this.name == fg.defaultDM))
         return null;
-      
+
       if(!FlashGotDM.wine) {
         // check for wine
         var wine = CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
         var winePaths = fg.getPref("wine.paths", "/usr/bin/wine:/usr/local/bin/wine:/opt/local/bin/wine:/Applications/Darwine/Wine.bundle/Contents/bin/wine");
         if (!winePaths) return null;
-        
+
         for each(var winePath in winePaths.split(/[;:,]+/)) {
           try {
             wine.initWithPath(winePath);
@@ -160,9 +160,9 @@ FlashGotDM.prototype = {
       FlashGotDM.wineExecutables.push(exeFile);
       return exeFile;
     }
-    
+
     if (fg.isMac) return null;
-    
+
     if (exeFile.leafName == FlashGotDM.prototype.exeName) {
       // check if it's a global install and, if it is, put the executable
       // in the install dir to comply with the S.A.F.E.R. policy
@@ -181,7 +181,7 @@ FlashGotDM.prototype = {
       }
       return exeFile;
     }
-    
+
     return /\\.*\.sh$/i.test(path) ? null : exeFile;
   }
 ,
@@ -192,11 +192,11 @@ FlashGotDM.prototype = {
     }
     return this.baseSupportCheck();
   },
-  
+
   baseSupportCheck: function() {
     if (!this.exeName) return true;
     if (!this.exeFile) return false;
-    
+
     var dmtest;
     if (typeof(FlashGotDM.dmtests[this.exeName]) != "string") {
       const dmtestFile = fg.tmpDir.clone();
@@ -206,7 +206,7 @@ FlashGotDM.prototype = {
           try { dmtestFile.remove(false); } catch(rex) {}
         }
         this.launchSupportTest(dmtestFile);
-        this.log(dmtest = IO.readFile(dmtestFile)); 
+        this.log(dmtest = IO.readFile(dmtestFile));
       } catch(ex) {
         this.log(ex.message);
         dmtest = "";
@@ -240,7 +240,7 @@ FlashGotDM.prototype = {
   launchSupportTest: function (testFile) {
     this.runNative(["-o", testFile.path], true);
   },
-  
+
   shouldList: function() {
     return this.supported;
   }
@@ -279,7 +279,7 @@ FlashGotDM.prototype = {
 ,
   createJobBody: function(links) {
     var jobLines = [];
- 
+
     for (var j = 0, len = links.length, l; j < len; j++) {
       jobLines.push((l = links[j]).href,
            l.description,
@@ -291,10 +291,10 @@ FlashGotDM.prototype = {
   }
 ,
   createJob: function(links, opType, extras) {
-    var job = this.createJobHeader(links, opType) 
+    var job = this.createJobHeader(links, opType)
       + this.getReferrer(links) + "\n"
       + this.createJobBody(links);
-      
+
     if (typeof(links.document) == "object") {
       job += "\n" + links.document.referrer + "\n" + links.document.cookie + "\n";
     } else {
@@ -336,10 +336,10 @@ FlashGotDM.prototype = {
     }
     if (!fg.getPref("autoReferrer", true))
       return fg.getPref("fakeReferrer", "");
-    
+
     var ret = links.referrer || links.document && links.document.URL || links[0] && links[0].href;
-    
-    return (ret && /^https?:*/.test(ret)) ? ret : ""; 
+
+    return (ret && /^https?:*/.test(ret)) ? ret : "";
   }
 ,
   checkCookieSupport: function() {
@@ -367,11 +367,11 @@ FlashGotDM.prototype = {
     this.initCookies(links);
     return this._getCookie(link, links);
   },
-  
+
   initCookies: function(links) {
     var host, cookies, j, objCookie;
     const hostCookies = {};
-    
+
     var l, parts;
     for (j = links.length; j-- > 0;) {
       l = links[j];
@@ -385,7 +385,7 @@ FlashGotDM.prototype = {
         l.host = null;
       }
     }
-    
+
     var cookieHost, cookieTable, tmpCookie;
     const domainCookies = {};
 
@@ -408,14 +408,14 @@ FlashGotDM.prototype = {
 
     for (cookieHost in hostCookies) {
       var dotPos;
-      for (host = cookieHost; (dotPos=host.indexOf('.'))>=0; ) { 
+      for (host = cookieHost; (dotPos=host.indexOf('.'))>=0; ) {
         if ((tmpCookie = domainCookies[host])) {
           hostCookies[cookieHost] += tmpCookie;
         }
         host = host.substring(dotPos+1);
       }
     }
-    
+
     links.cookies = hostCookies;
   },
 
@@ -434,23 +434,23 @@ FlashGotDM.prototype = {
   cookieExpires: 0, // to be set once in getCookies()
   createCookieFile: function() {
     if (fg.getPref("omitCookies")) return null;
-    
+
     const cookies = [];
     this.cookieExpires = Date.now() + 24 * 3600 * 3650; // ten years for session cookies
-    
+
     for (var cookie, iter = fg.cookieManager.enumerator; iter.hasMoreElements();) {
       if ((cookie = iter.getNext()) instanceof CI.nsICookie) {
         cookies.push(this.formatNSCookie(cookie));
       }
     }
-    
+
     const f = fg.tmpDir.clone();
     f.append("cookies");
     f.createUnique(0, B8('600'));
     IO.writeFile(f, cookies.join("\n"));
-    
+
     fg.doomPrivateFile(f);
-    
+
     return f.path;
   }
 ,
@@ -461,8 +461,8 @@ FlashGotDM.prototype = {
     IO.writeFile(jobFile, job);
     return jobFile;
   }
-, 
-  
+,
+
   performJob: function(job) {
     const jobFile = this.createJobFile(job);
     const args = (fg.inPrivate || fg.getPref("shredding")) ? ["-p"] : [];
@@ -473,18 +473,18 @@ FlashGotDM.prototype = {
   createExecutable: function() {
     const exeFile = this.exeFile;
     if (!exeFile) return false;
-    
+
     var exists = exeFile.exists();
-    if (exists && !fg.firstRun) 
+    if (exists && !fg.firstRun)
       return false;
-    
+
     var channel = IOS.newChannel("chrome://flashgot/content/" + this.exeName, null, null);
     var bis = CC['@mozilla.org/binaryinputstream;1'].createInstance(CI.nsIBinaryInputStream);
     bis.setInputStream(channel.open());
     const bytesCount = channel.contentLength;
     const templateImage = bis.readBytes(bytesCount);
     bis.close();
-    
+
     if (exists) {
       channel = IOS.newChannelFromURI(IOS.newFileURI(this.exeFile));
       bis = CC['@mozilla.org/binaryinputstream;1'].createInstance(CI.nsIBinaryInputStream);
@@ -494,11 +494,11 @@ FlashGotDM.prototype = {
           const currentImage = bis.readBytes(channel.contentLength);
           if (currentImage == templateImage) return false;
         }
-      } finally {  
+      } finally {
         bis.close();
       }
     }
-    
+
     var bos = null;
     try {
       const fos = CC["@mozilla.org/network/file-output-stream;1"].createInstance(CI.nsIFileOutputStream);
@@ -543,7 +543,7 @@ FlashGotDM.prototype = {
         this.log("Bad executable " + exeFile);
       }
     } catch(err) {
-      this.log("Error running native executable:\n" + exeFile.path + 
+      this.log("Error running native executable:\n" + exeFile.path +
         " " + args.join(" ") + "\n" + err.message);
     } finally {
       this.log("Native execution time " + (Date.now() - t0));
@@ -555,18 +555,18 @@ FlashGotDM.prototype = {
     return fg.getWindow();
   }
 ,
-  selectFolder: function(links, opType) { 
+  selectFolder: function(links, opType) {
     if (this.quiet || this.quietOp(opType)) return "";
 
     const autoPref_FF = "browser.download.useDownloadDir";
     const autoPref_Moz = "browser.download.autoDownload";
-    
+
     var initialDir = null;
     var downloadDir = null;
     links.quickDownload = false;
-    
+
     const pref = CC["@mozilla.org/preferences-service;1"].getService(CI.nsIPrefBranch);
-    
+
     function findDownloadDir(prefName) {
       try {
         downloadDir = initialDir = pref.getComplexValue(prefName, CI.nsILocalFile);
@@ -577,15 +577,15 @@ FlashGotDM.prototype = {
     }
     const isMulti = opType != fg.OP_ONE;
     const multiDirPref = "flashgot.multiDir";
-    var downloadDirPref = 
+    var downloadDirPref =
                     (isMulti && findDownloadDir(multiDirPref)) ||
                     findDownloadDir("browser.download.dir") ||
-                    findDownloadDir("browser.download.downloadDir") || 
+                    findDownloadDir("browser.download.downloadDir") ||
                     findDownloadDir("browser.download.defaultFolder") ||
-                    "browser.download.dir"; 
-    
+                    "browser.download.dir";
+
     if (isMulti) downloadDirPref = multiDirPref;
-    
+
     try {
       links.quickDownload = pref.getBoolPref(autoPref_FF);
     } catch(noFFEx) {
@@ -593,15 +593,15 @@ FlashGotDM.prototype = {
         links.quickDownload = pref.getBoolPref(autoPref_Moz);
       } catch(noMozEx) {}
     }
-   
+
     if (!this.askPath[opType]) return "";
-    
-    if (((!isMulti) || fg.getPref("multiQuiet", false)) && 
-        downloadDir && downloadDir.exists() && downloadDir.isDirectory()  && 
+
+    if (((!isMulti) || fg.getPref("multiQuiet", false)) &&
+        downloadDir && downloadDir.exists() && downloadDir.isDirectory()  &&
         links.quickDownload) {
       return downloadDir.path;
     }
-    
+
     var urlLabel = links.length > 1
       ? links.length + " @ " +
       (function() {
@@ -613,34 +613,34 @@ FlashGotDM.prototype = {
         return ll;
       })().join(", ")
       : links[0].href.replace(/^[\w-]+:\/*([^\/]+\/).*?([^\/\?]+)(?:$|\?.*)/, '$1.../$2');
-    
+
     var params = {
       title: "FlashGot (" + this.name.replace(/[\(\)]/g, "") + ") " + urlLabel,
       initialDir: initialDir,
       choosenDir: null,
       links: links
     }
-    
+
     this.getWindow().openDialog(
               "chrome://flashgot/content/chooser.xul",
               "flashgotChooser",
               "chrome, dialog, modal, dependent, centerscreen, resizable",
               params);
-    
+
     if (params.choosenDir) {
       pref.setComplexValue(downloadDirPref, CI.nsILocalFile, params.choosenDir);
       var path = new String(params.choosenDir.path);
       path._fgSelected = true;
       return path;
     }
-  
+
     throw new Error("Download cancelled by user");
 
   },
   sanitizeWinArg: function(a) {
-    return a.replace(/([\|\(\) &\^])/g, "^$1"); 
+    return a.replace(/([\|\(\) &\^])/g, "^$1");
   },
-  
+
   supportURLs: function(links, argsTemplate) {
     if (!links.length) return null;
     const sfile = /\[[^\]]*UFILE[^\]]*\]/.test(argsTemplate);
@@ -657,7 +657,7 @@ FlashGotDM.prototype = {
     }
     return { list: ulist, file: ufile || null };
   },
-  
+
   nativeUI: null,
   hideNativeUI: function(document) {
     if (!(this.nativeUI && this.getPref("hideNativeUI", true))) return;
@@ -715,9 +715,9 @@ FlashGotDMX.prototype.launchSupportTest = function(testFile) {
   for (var name in cmds) {
     cmd = cmds[name];
     script += " which \"" + cmd + "\" && echo '"
-      + name + "|OK' || echo '" + name+"|KO'\n"; 
+      + name + "|OK' || echo '" + name+"|KO'\n";
   }
-  script += ") > '" + testFile.path + "' 2>/dev/null\n"; 
+  script += ") > '" + testFile.path + "' 2>/dev/null\n";
   this.performJob(script, true);
 };
 
@@ -726,7 +726,7 @@ FlashGotDMX.prototype.createCmdLine = function(parms, cmd) {
     this.argsTemplate.replace(/\[(.*?)(URL|FNAME|REFERER|COOKIE|FOLDER|POST|UFILE|CFILE|ULIST|USERPASS|UA)(.*?)\]/g,
       function(all, before, parm, after) {
           var v = parms[parm];
-          
+
           return typeof(v) != "undefined" && v != null
             ? before + v + (after.substring(0, 1) == '|' ? '' : after)
             : (after.substring(0, 1) == '|' ? after.substring(1) : "");
@@ -744,29 +744,29 @@ FlashGotDMX.prototype.createJob = function(links, opType) {
   const referrer = shellEsc(this.getReferrer(links));
   const postData = shellEsc(links.postData);
   const cmd = this.unixCmd;
-  
-  
+
+
   var len = links.length;
   var job = (this.unixPath ? "PATH=" + this.unixPath + ":$PATH\n" : "") +
             this.shreddingCmd();
-  
+
   if (links.folder) job += "cd '" + links.folder + "'\n";
-    
+
   var l, url;
-  
+
   const cookieFile = this.createCookieFile();
   const forceSingle = len == 1 && /\[[^\]]*\bURL\b/.test(this.argsTemplate);
-  
+
   const urls = forceSingle ? null : this.supportURLs(links, this.argsTemplate);
-  
+
   var ufile, ulist;
   if (urls) {
     ufile = shellEsc(urls.file);
     ulist = urls.list.map(shellEsc).join(' ');
   }
-  
+
   const userAgent = shellEsc(CC["@mozilla.org/network/protocol;1?name=http"].getService(CI.nsIHttpProtocolHandler).userAgent);
-  
+
   len = links.length; // needed because supportURLs can cut links.length
   for (var j = 0; j < len; j++) {
     l = links[j];
@@ -776,10 +776,10 @@ FlashGotDMX.prototype.createJob = function(links, opType) {
     job += this.createCmdLine({
       URL: shellEsc(url),
       FNAME: l.fname && shellEsc(l.fname) || null,
-      REFERER: referrer, 
+      REFERER: referrer,
       COOKIE: shellEsc(this.getCookie(l, links)),
       CFILE: cookieFile,
-      FOLDER: folder, 
+      FOLDER: folder,
       POST: l.postData && shellEsc(l.postData) || postData,
       UFILE: ufile,
       ULIST: ulist,
@@ -788,12 +788,12 @@ FlashGotDMX.prototype.createJob = function(links, opType) {
     }, cmd);
     this.updateProgress(links, j, len);
   }
-  
+
   if (this.terminal) {
     const autoClose = fg.getPref("term.autoClose", -1);
     const title = shellEsc("FlashGot " +  (len > 1 ? "(" + len + ")" : links[0].href));
     const shell = this.unixShell && shellEsc(this.unixShell.path) || '';
-    job = 
+    job =
       "if [ -z \"$FLASHGOT_TERM\" ]; then\n" +
       "  export FLASHGOT_TERM; FLASHGOT_TERM=1\n" +
       "  if which flashgot-term >/dev/null 2>&1; then\n" +
@@ -826,7 +826,7 @@ FlashGotDMX.prototype.createJob = function(links, opType) {
           ? "\necho -n 'Press [ENTER] to quit... ' && read l || sleep 5\n"
           : "\nsleep " + autoClose + "\n");
   }
-  
+
   return job;
 };
 
@@ -837,12 +837,12 @@ FlashGotDMX.prototype.shreddingCmd = function() {
 };
 
 FlashGotDMX.prototype.performJob = function(job, blocking) {
-  
+
   job = "#!" + this.unixShell.path + "\n" + job + this.shreddingCmd();
-  
+
   const jobFile = this.createJobFile(job);
   jobFile.permissions = parseInt("0700", 8);
-  return !(fg.isMac 
+  return !(fg.isMac
     ? this.runNative([], blocking, FlashGotDMMac.exeFile)
     : this.runNative([jobFile.path], blocking, this.unixShell)
   );
@@ -876,7 +876,7 @@ FlashGotDMMac.prototype.cookieSupport = false;
 FlashGotDMMac.prototype.macCreators = [];
 FlashGotDMMac.prototype._initMac = function(name, creatorId, macAppName) {
   this._init(name);
- 
+
   if (creatorId) {
     const creators=FlashGotDMMac.prototype.macCreators;
     creators[creators.length] = {name: name, id: creatorId};
@@ -888,18 +888,18 @@ FlashGotDMMac.prototype._initMac = function(name, creatorId, macAppName) {
 
 FlashGotDMMac.prototype.initAppleScriptBridge = function() {
   if (FlashGotDMMac.appletScriptFile) return;
-  
+
   (FlashGotDMMac.appleScriptFile = fg.tmpDir.clone())
       .append(FlashGotDMMac.appleScriptName);
-  
+
 }
 FlashGotDMMac.prototype.shellEsc = function(s) {
-  return s ? "'" + s.replace(/'/g, '"\'"') + "'" : null; 
+  return s ? "'" + s.replace(/'/g, '"\'"') + "'" : null;
 }
 FlashGotDMMac.prototype.createScriptLauncher = function() {
   return "#!/bin/sh\n" +
     "SCRIPT=" + this.shellEsc(FlashGotDMMac.appleScriptFile.path) + "\n" +
-    "USCRIPT=\"$SCRIPT.$$\"\n" + 
+    "USCRIPT=\"$SCRIPT.$$\"\n" +
     "mv \"$SCRIPT\" \"$USCRIPT\" || exit 1\n" +
     "head -n 1 \"$USCRIPT\" | grep '#!' >/dev/null &&  \"$USCRIPT\" || " +
     FlashGotDMMac.OSASCRIPT + " \"$USCRIPT\"\n" +
@@ -909,8 +909,8 @@ FlashGotDMMac.prototype.checkExePlatform = function(exeFile) {
   return fg.isMac && exeFile || null;
 };
 FlashGotDMMac.prototype.createExecutable = function() {
-  
-  
+
+
   var exeFile = this._exeFile;
   if (!exeFile) return false;
 
@@ -924,7 +924,7 @@ FlashGotDMMac.prototype.createExecutable = function() {
        mustCreate = false;
      } else {
        this.log(exeFile.path + " is corrupted or obsolete, replacing it...");
-       try { exeFile.remove(true); } catch(rex) {} 
+       try { exeFile.remove(true); } catch(rex) {}
      }
    } else {
      this.log(exeFile.path + " not found, creating it...");
@@ -933,14 +933,14 @@ FlashGotDMMac.prototype.createExecutable = function() {
       this.log("Creating Mac executable");
       exeFile.create(0, B8('700'));
       IO.writeFile(exeFile, scriptLauncher);
-     
+
       try {
         this.log("Trying to reset Leopard's quarantine attribute...");
         var xattr =  CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
         xattr.initWithPath("/usr/bin/xattr");
         this.runNative(["-d", "com.apple.quarantine", exeFile.path], true, xattr);
       } catch(e) {
-        this.log("Couldn't clear quarantine attribute " + e); 
+        this.log("Couldn't clear quarantine attribute " + e);
       }
    }
    this.log("Setting executable permissions on " + exeFile.path);
@@ -954,7 +954,7 @@ FlashGotDMMac.prototype.createExecutable = function() {
 };
 FlashGotDMMac.prototype.launchSupportTest = function(testFile) {
   const creators = FlashGotDMMac.prototype.macCreators;
-  
+
   var s = [
     'global gRes',
     'set gRes to ""',
@@ -969,7 +969,7 @@ FlashGotDMMac.prototype.launchSupportTest = function(testFile) {
     'end theTest'
   ];
   for (var j = creators.length; j-- > 0; ) {
-    s.push('theTest("' + creators[j].name + '","' +creators[j].id + '")'); 
+    s.push('theTest("' + creators[j].name + '","' +creators[j].id + '")');
   }
   s.push(
     'set theFile to POSIX file "' + testFile.path + '"',
@@ -1058,7 +1058,7 @@ FlashGotDMCust.prototype.askPath = [true, true, true];
 
 FlashGotDMCust.prototype.__defineGetter__("exeFile",function() {
   try {
-    return fg.prefs.getComplexValue(this.prefsBase + "exe", 
+    return fg.prefs.getComplexValue(this.prefsBase + "exe",
       CI.nsILocalFile);
   } catch(ex) {
     return null;
@@ -1067,7 +1067,7 @@ FlashGotDMCust.prototype.__defineGetter__("exeFile",function() {
 FlashGotDMCust.prototype.__defineSetter__("exeFile",function(v) {
   try {
     if (v) {
-      fg.prefs.setComplexValue(this.prefsBase + "exe", 
+      fg.prefs.setComplexValue(this.prefsBase + "exe",
           CI.nsILocalFile,v);
       return v;
     }
@@ -1104,13 +1104,13 @@ FlashGotDMCust.prototype.download = function(links, opType) {
     var path = exeFile.path;
     var profPath = fg.profDir.path;
     var pos1, pos2;
-    if (path[1] == ":" && profPath[1] == ":") { 
+    if (path[1] == ":" && profPath[1] == ":") {
       // easy, it's Windows, swap drive letter
       path = profPath[0] + path.substring(1);
     } else if(path.indexOf("/mount/") == 0 && profPath.indexOf("/mount/") == 0) {
       pos1 = path.indexOf("/", 7);
       pos2 = profPath.indexOf("/", 7);
-      path = "/mount/" + profPath.substring(7, pos2) + path.substring(pos1); 
+      path = "/mount/" + profPath.substring(7, pos2) + path.substring(pos1);
     } else if((pos1 = path.indexOf("/",1)) > 0 && (pos2 = profPath.indexOf("/", 1)) > 0) {
       path = profPath.substring(0, pos2) + path.substring(pos1);
     } else exeFile = null;
@@ -1119,7 +1119,7 @@ FlashGotDMCust.prototype.download = function(links, opType) {
       if (!exeFile.exists()) exeFile = null;
     }
   }
-  links.exeFile= (exeFile || 
+  links.exeFile= (exeFile ||
     (exeFile = this.exeFile = this.locateExeFile())) ? exeFile : null;
   FlashGotDM.prototype.download.call(this, links, opType);
 };
@@ -1130,7 +1130,7 @@ FlashGotDMCust.prototype.locateExeFile = function(name) {
   if (!name) name = this.name;
   var title = fg.getString("custom.exeFile");
   title = 'FlashGot (' + name + ') - ' + title;
-  
+
   const fp = CC["@mozilla.org/filepicker;1"].createInstance(CI.nsIFilePicker);
   const win = this.getWindow();
   fp.init(win, title, CI.nsIFilePicker.modeOpen);
@@ -1160,18 +1160,18 @@ FlashGotDMCust.prototype.makeArgs = function(parms) {
   const args = [];
   var t = this.argsTemplate;
   var v, len, alt;
-  
+
   var idx;
   var rx = new RegExp("\\[([\\s\\S]*?)(\\S*)\\b(" + this.PLACEHOLDERS.join("|") + ")\\b(\\S*?)([\\s\\S]*?)\\]");
-  for (var m; 
-      m = t.match(rx); 
-      t = t.substring(idx + m[0].length) 
+  for (var m;
+      m = t.match(rx);
+      t = t.substring(idx + m[0].length)
      ) {
 
     if ((idx = m.index) > 0) {
       this._addParts(args, t.substring(0, idx));
     }
-    
+
     v = parms[m[3]];
     alt = m[4].substring(0, 1) == '|';
     if (!v) {
@@ -1181,9 +1181,9 @@ FlashGotDMCust.prototype.makeArgs = function(parms) {
       }
       continue;
     }
-    
+
     if (alt) m[4] = '';
-    
+
     this._addParts(args, m[1]);
     if (v.push) { // array argument
       if (m[2]) args.push(m[2]);
@@ -1192,10 +1192,10 @@ FlashGotDMCust.prototype.makeArgs = function(parms) {
     } else {
       args.push(m[2] + v + (alt ? '' : m[4]));
     }
-   
+
     this._addParts(args, m[5]);
   }
-  
+
   if (t.length) {
     this._addParts(args, t);
   }
@@ -1211,7 +1211,7 @@ FlashGotDMCust.prototype.shellEsc = function(s) {
 }
 
 FlashGotDMCust.prototype.winEscHack = function(s) {
-  // hack for bug at http://mxr.mozilla.org/seamonkey/source/xpcom/threads/nsProcessCommon.cpp#149 
+  // hack for bug at http://mxr.mozilla.org/seamonkey/source/xpcom/threads/nsProcessCommon.cpp#149
   var rstr = /^\w+:\/+/.test(s) ? "# " : " ";
   return (/[;&=]/.test(s) && !/\s/.test(s)) // "=" and ";" are command line separators on win!!!
     ? s + rstr : s; // we add a space to force escaping
@@ -1221,28 +1221,28 @@ FlashGotDMCust.prototype.performJob = function(job) {
   const links = job.links;
   const exeFile = links.exeFile;
   if (links.length < 1 || !exeFile) return false;
-  
+
   var esc = (fg.isWindows && this.getPref("winEscHack", true))
     ? this.winEscHack : function(s) { return s; }
-  
+
   const folder = links.folder;
   const referrer = esc(this.getReferrer(links));
   const postData = esc(links.postData);
   var cookieFile = this.createCookieFile();
-  
-  
+
+
   var maxLinks = fg.getPref(this.prefsBase + "maxLinks", 0);
   if (maxLinks > 0 && links.length > maxLinks) {
-    this.log("Too many links (" + links.length + "), cutting to " 
+    this.log("Too many links (" + links.length + "), cutting to "
         + this.prefsBase + "maxLinks (" + maxLinks + ")");
     links.length = maxLinks;
   }
-  
-  
+
+
   const urls = this.supportURLs(links, this.argsTemplate) || { file: null, list: null };
-  
+
   const userAgent = esc(CC["@mozilla.org/network/protocol;1?name=http"].getService(CI.nsIHttpProtocolHandler).userAgent);
-  
+
   for (var l, j = 0, len = links.length; j < len; j++) {
     l = links[j];
     var extraHeaders = null;
@@ -1258,9 +1258,9 @@ FlashGotDMCust.prototype.performJob = function(job) {
         URL: esc(l.href),
         COMMENT: esc(l.description),
         FNAME: l.fname && esc(l.fname) || null,
-        REFERER: referrer, 
-        COOKIE: esc(this.getCookie(l, links)), 
-        FOLDER: folder, 
+        REFERER: referrer,
+        COOKIE: esc(this.getCookie(l, links)),
+        FOLDER: folder,
         POST: l.postData && esc(l.postData) || postData,
         RAWPOST: l.rawPostData && esc(l.rawPostData) || postData,
         HEADERS: extraHeaders,
@@ -1297,14 +1297,14 @@ FlashGotDM.initDMS = function() {
 
   dm = new FlashGotDM("Download Accelerator Plus");
   dm.nativeUI = "#dapctxmenu1, #dapctxmenu2";
-  
+
   dm.performDownload =  function(links, opType) {
     if (!("IDAPComponent" in CI)) {
       this.log("DAP extension not found, falling back to IE integration");
       FlashGotDM.prototype.performDownload.apply(this, arguments);
       return;
     }
-    
+
     function getDAP() {
       return CC["@speedbit.com/dapfirefox/dapcomponent;1"].createInstance(CI.IDAPComponent);
     }
@@ -1312,21 +1312,21 @@ FlashGotDM.initDMS = function() {
       getDAP().RigthClickMenuDownloadAll(doc, "Firefox");
       doc.defaultView.location.href = "about:blank";
     }
-    
+
     try {
-    
+
       if (opType == fg.OP_ONE) {
         var l = links[0];
         getDAP().RigthClickMenuDownload(
           l.href, this.getReferrer(links), this.getCookie(l, links), l.description, "Firefox");
         return;
       }
-      
+
       if (!links.document) {
         this.log("DAP: No document found");
         return;
       }
-      
+
       var doc = links.document;
       var url = doc.URL;
       if (opType == fg.OP_SEL) {
@@ -1342,12 +1342,12 @@ FlashGotDM.initDMS = function() {
           f.setAttribute("type", "content");
           f.style.display = "none";
         }
-        
+
         f.docShell.QueryInterface(CI.nsIWebPageDescriptor).loadPage(
           DOM.getDocShellFromWindow(doc.defaultView).QueryInterface(CI.nsIWebPageDescriptor).currentDescriptor,
           2
         );
-        
+
         var dm = this;
         f.addEventListener("DOMContentLoaded", function(ev) {
           try {
@@ -1374,7 +1374,7 @@ FlashGotDM.initDMS = function() {
             dm.log("DAP Selection: " + e.message + " - " + e.stack);
           }
         }, false);
-        
+
       } else {
         downloadDoc(doc);
       }
@@ -1383,12 +1383,12 @@ FlashGotDM.initDMS = function() {
       return;
     }
   };
-  
-  
-  
-  
+
+
+
+
   new FlashGotDM("Download Master");
-  
+
   for each (dm in [new FlashGotDM("DTA"), new FlashGotDM("DTA (Turbo)")]) {
     dm.__defineGetter__("_supported", function() {
       delete this._supported;
@@ -1408,13 +1408,13 @@ FlashGotDM.initDMS = function() {
     dm.nativeUI = dm.turboDTA
       ? "#context-dta-savelinkt, #context-tdta, #dtaCtxTDTA, #dtaCtxSaveT, #dtaCtxTDTA-direct, #dtaCtxSaveT-direct, #dtaCtxTDTASel-direct, #dtaCtxSaveLinkT-direct"
       : "#context-dta-savelink, #context-dta, #dtaCtxDTA, #dtaCtxSave, #dtaCtxDTA-direct, #dtaCtxSave-direct, #dtaCtxDTASel-direct, #dtaCtxSaveLink-direct";
-      
+
     dm.performDownload = function(links, opType) {
       if(!links.document) {
         this.log("No document found in " + links);
         return;
       }
-      
+
       var cs = links.document && links.document.characterSet || "UTF-8";
       var w = links.browserWindow || fg.getBrowserWindow(links.document);
       var wrapURL, mlSupport, DTA;
@@ -1433,7 +1433,7 @@ FlashGotDM.initDMS = function() {
         wrapURL = function(url, cs) { return new DTA.URL(IOS.newURI(url, cs, null)); }
         mlSupport = true;
       } catch(e) {
-        
+
         delete this.DTA;
         if(!(w && w.DTA_AddingFunctions && w.DTA_AddingFunctions.saveLinkArray)) {
           this.log("DTA Support problem: " + w + ", " + (w && w.DTA_AddingFunctions) + ", tb:" +
@@ -1441,7 +1441,7 @@ FlashGotDM.initDMS = function() {
               (w && w.DTA_AddingFunctions && w.DTA_AddingFunctions.saveLinkArray));
           return;
         }
-        
+
         this.log("Legacy DTA (1.x)");
         mlSupport = w.DTA_getLinkPrintMetalink;
         wrapURL = w.DTA_URL
@@ -1449,7 +1449,7 @@ FlashGotDM.initDMS = function() {
           ? function(url, cs) { return new w.DTA_URL(IOS.newURI(url, cs, null)); }
           : function(url, cs) { return new w.DTA_URL(url, cs); }
         : function(url) { return url };
-        
+
         DTA = {
           __noSuchMethod__: function(m, args) {
             if (m == "saveSingleLink") args.shift();
@@ -1461,11 +1461,11 @@ FlashGotDM.initDMS = function() {
           }
         };
       }
-      
+
       var turbo = this.turboDTA;
-     
+
       var anchors = [], images = [], l, arr;
-      
+
       var hash, ml;
       var referrer = this.getReferrer(links);
       var tag;
@@ -1476,16 +1476,16 @@ FlashGotDM.initDMS = function() {
         l = links[j];
         arr = single || !(tag = l.tagName) || tag.toLowerCase() == "a" ? anchors : images;
         try {
-          arr.push(lastItem = { 
+          arr.push(lastItem = {
               url: wrapURL(l.href, cs),
               description: l.description,
               ultDescription: '',
               referrer: referrer,
               isPrivate: fg.inPrivate,
           });
-          
+
           if ("postData" in l) lastItem.postData = l.postData;
-          
+
           if (("fname" in l) && l.fname) {
             lastItem.fileName = lastItem.destinationName = l.fname;
             // if (single && !turbo) single = false;
@@ -1502,7 +1502,7 @@ FlashGotDM.initDMS = function() {
                 metalink: true
               });
             }
-          } 
+          }
         } catch(e) {
           this.log("DTA: " + e.message);
         }
@@ -1530,10 +1530,10 @@ FlashGotDM.initDMS = function() {
       }
     }
   }
-  
+
   new FlashGotDM("FlashGet");
   new FlashGotDM("FlashGet 2");
-  
+
   try {
     dm = null;
     const FG_CTRID = "@flashget.com/FlashgetXpiEx;1";
@@ -1571,13 +1571,13 @@ FlashGotDM.initDMS = function() {
   }
   dm = dm || new FlashGotDM("FlashGet 2.x");
   dm.nativeUI = "#flashgetSingle, #flashgetAll, #flashgetSep, #flashget3Single, #flashget3All, #flashget3Sep";
-  
-  
+
+
   dm = new FlashGotDM("Free Download Manager");
-  
+
   new FlashGotDM("FreshDownload");
-  
-  
+
+
   dm = new FlashGotDM("GetRight");
   dm.metalinkSupport = true;
   dm.download = function(links, opType) {
@@ -1586,13 +1586,13 @@ FlashGotDM.initDMS = function() {
     }
     FlashGotDM.prototype.download.call(this, links, opType);
   };
-  
+
   dm.createJob = function(links, opType) {
     var folder = links.folder;
     if (!(folder && folder._fgSelected)) folder = false;
-    
+
     var referrer = this.getReferrer(links);
-    
+
     switch (opType) {
       case fg.OP_ONE:
         var job = FlashGotDM.prototype.createJob.call(this, links, opType,
@@ -1605,10 +1605,10 @@ FlashGotDM.initDMS = function() {
         var referrerLine = (referrer && referrer.length > 0) ? "\r\nReferer: " + referrer + "\r\n" : "\r\n";
         var replacer = fg.getPref("GetRight.replaceSpecialChars", true) ? /[^\w\.-]/g : /[\x00-\x1f\\]+/g;
         var l, k, len, decodedURL, urlParts, fileSpec, cookie;
-        
+
         for (var j = 0; j < links.length; j++) {
           l=links[j];
-          
+
           if (l.fname) fileSpec = l.fname;
           else if (folder) {
             fileSpec = '';
@@ -1617,21 +1617,21 @@ FlashGotDM.initDMS = function() {
             if (!urlParts) urlParts=l.href.match(/.*\/(.*\w+.*)/);
             if (urlParts && (fileSpec = urlParts[1])
               // && (links.length==1 ||  !/\.(php|[\w]?htm[l]?|asp|jsp|do|xml|rdf|\d+)$/i.test(fileSpec))
-             ) {  
+             ) {
               urlParts = fileSpec.match(/(.*\.\w+).*/);
               if (urlParts) fileSpec = urlParts[1];
               fileSpec = fileSpec.replace(replacer, '_');
             } else continue;
           } else fileSpec = '';
-          
+
           if (fileSpec) {
             if (folder) fileSpec = folder + "\\" + fileSpec;
             fileSpec = "File: " + fileSpec + "\r\n";
           }
-          
+
           urlList+="URL: "+l.href
             +"\r\nDesc: "+l.description + "\r\n" + fileSpec;
-          
+
             if (l.md5) {
             urlList += "MD5: " + l.md5 + "\r\n";
           }
@@ -1672,18 +1672,18 @@ FlashGotDM.initDMS = function() {
       referrer + "\n" + cmdOpts;
   };
   dm.askPath=[false,true,true];
-  
+
   new FlashGotDM("GigaGet");
-  
+
   new FlashGotDM("HiDownload");
   new FlashGotDM("InstantGet");
-  
+
   dm = new FlashGotDM("iGetter Win");
   dm.nativeUI = "#all-igetter, #igetter-link";
   dm.__defineGetter__("supported", function() {
     if (typeof(this._supported) == "boolean") return this._supported;
     if (fg.isMac) return this._supported = false;
-    
+
     this._supported = ("nsIGetterMoz" in CI);
     this.cookieSupport = false;
     if (this._supported) return true;
@@ -1692,7 +1692,7 @@ FlashGotDM.initDMS = function() {
   });
   dm.createExecutable = function() {
     var exeFile, path, key;
-    
+
     exeFile = CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
     try {
       path = this.readWinRegString("CURRENT_USER", "Software\\iGetter")
@@ -1714,13 +1714,13 @@ FlashGotDM.initDMS = function() {
         }
       }
     }
-    
+
     this.browser = 3;
     if ("@mozilla.org/xre/app-info;1" in Components.classes) {
       var info = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULAppInfo);
       if(info.name.indexOf("Firefox") > -1) this.browser = 4;
-    }	
-    
+    }
+
     return exeFile.exists() ? this._exeFile = exeFile : null;
   }
   dm.createJob = function(links, opType) {
@@ -1748,20 +1748,20 @@ FlashGotDM.initDMS = function() {
       return true;
     }
   };
-  
+
   new FlashGotDM("Internet Download Accelerator");
   (new FlashGotDM("Internet Download Manager")).postSupport = true;
 
   var lg2002 = new FlashGotDM("LeechGet 2002");
   var lg2004 = new FlashGotDM("LeechGet");
-  
+
   lg2004.createJob = lg2002.createJob = function(links, opType) {
     var referrer;
     switch (opType) {
       case fg.OP_ONE:
-        return FlashGotDM.prototype.createJob.call(this, links, 
+        return FlashGotDM.prototype.createJob.call(this, links,
             links.quickDownload ? fg.OP_ONE : fg.OP_SEL);
-        
+
       case fg.OP_SEL:
         var htmlDoc="<html><head><title>FlashGot selection</title></head><body>";
         var l;
@@ -1789,15 +1789,15 @@ FlashGotDM.initDMS = function() {
     }
     return this.createJobHeader({ length: 0, folder: "" },opType) + referrer + "\n";
   };
- 
+
   new FlashGotDM("Net Transport");
   new FlashGotDM("Net Transport 2");
   new FlashGotDM("NetAnts");
   new FlashGotDM("Mass Downloader");
-  
+
   dm = new FlashGotDM("Orbit");
   dm.nativeUI = "#OrbitDownloadUp, #OrbitDownload, #OrbitDownloadAll, #OrbidDownload_menuitem, #OrbitDownloadAll_menuitem";
-  
+
   dm = new FlashGotDM("ReGet");
   dm.postSupport = true;
   if("@reget.com/regetextension;1" in CC) {
@@ -1837,14 +1837,14 @@ FlashGotDM.initDMS = function() {
       }
     } catch(rgEx) {}
   }
-  
+
   if (isWin) {
     dm = new FlashGotDMCust("Retriever");
     dm.cookieSupport = true;
     dm.askPath = ASK_NEVER;
     dm.custom = false;
     dm._supported = null;
-    
+
     if (fg.getPref(dm.prefsBase + "maxLinks", -1000) == -1000) {
       fg.setPref(dm.prefsBase + "maxLinks", 10);
     }
@@ -1853,27 +1853,27 @@ FlashGotDM.initDMS = function() {
         var cmd = this.readWinRegString("CLASSES_ROOT", "Retriever.Retriever.jar.HalogenWare\\shell\\Open\\command");
         this.jarPath = cmd.replace(/.*-jar "?(.*?\.jar).*/, "$1");
         this.argsTemplate = "[URL] [Referer:REFERER] [Cookie:COOKIE] [post:POST]";
-        
+
         this.exeFile = fg.java;
-        
+
         return true;
       } catch(e) {
         return false;
-      } 
+      }
     };
-    
+
     dm.makeArgs = function(parms) {
       return ["-jar", this.jarPath].concat(
         FlashGotDMCust.prototype.makeArgs.apply(this, arguments)
       );
     };
-    
+
     dm = new FlashGotDMCust("DownloadStudio");
     dm.cookieSupport = true;
     dm.askPath = ASK_NEVER;
     dm.custom = false;
     dm._supported = null;
-    
+
     dm.customSupportCheck = function() {
       try {
         var path = this.readWinRegString("LOCAL_MACHINE", "SOFTWARE\\Conceiva\\DownloadStudio", "Path");
@@ -1893,19 +1893,19 @@ FlashGotDM.initDMS = function() {
       } catch(e) {}
       return false;
     };
-    
+
   }
-  
+
   const httpFtpValidator = function(url) {
     return /^(http:|ftp:)/.test(url);
   };
   dm = new FlashGotDM("Star Downloader");
   dm.cookieSupport = false;
   dm.isValidLink = httpFtpValidator;
-  
+
   dm = new FlashGotDM("TrueDownloader");
   dm.isValidLink = httpFtpValidator;
-  
+
 
   dm = new FlashGotDM("Thunder");
   dm.nativeUI = "#ThunderDownloadUp, #ThunderDownload, #ThunderDownloadAll";
@@ -1928,7 +1928,7 @@ FlashGotDM.initDMS = function() {
   }
   new FlashGotDM("Thunder (Old)");
 
-  
+
   if (isWin) {
     dm = new FlashGotDM("WellGet");
     dm.autoselect = false;
@@ -1943,7 +1943,7 @@ FlashGotDM.initDMS = function() {
       try {
          var currentPath = wellGetExe.path;
          if(wellGetExe.exists() && wellGetExe.isExecutable()) return true;
-         
+
          wellGetExe.initWithPath(fg.profDir.path.substring(0,2) +
            currentPath.substring(2));
          if (wellGetExe.exists() && wellGetExe.isExecutable()) {
@@ -1955,12 +1955,12 @@ FlashGotDM.initDMS = function() {
          return false;
       } catch(ex) {
       }
-      
+
       return !wellGetExe && this.baseSupportCheck();
     };
     dm.createJob = function(links, opType) {
       var wellGetExe = this.getRelativeExe();
-      return FlashGotDM.prototype.createJob.call(this, links, opType, 
+      return FlashGotDM.prototype.createJob.call(this, links, opType,
         wellGetExe ? [wellGetExe.path] : null);
     };
     dm.shouldList = function() { return true; }
@@ -1972,7 +1972,7 @@ FlashGotDM.initDMS = function() {
   dm.customSupportCheck = function() {
     try {
       if (this._checkPath()) return true;
-      
+
       var self = this;
       fg.delayExec(function() {
         var r = self._createRequest("GET", function(r) {
@@ -2011,7 +2011,7 @@ FlashGotDM.initDMS = function() {
     this.jdFile = null;
     return false;
   };
-  
+
   dm._winExe = function() {
     var exe = null;
     if (fg.isWindows) try {
@@ -2024,7 +2024,7 @@ FlashGotDM.initDMS = function() {
     } catch (e) {}
     return exe;
   };
-  
+
   dm._macExe = function() {
     try {
       if (!/\.app\/Contents\/Resources\/Java\/[^\/]+\.jar$/.test(this.jdFile.path)) return null;
@@ -2036,7 +2036,7 @@ FlashGotDM.initDMS = function() {
       return null;
     }
   },
-  
+
   dm._createRequest = function(method, callback) {
     var r = CC["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(CI.nsIXMLHttpRequest);
     var url = this.getPref("url");
@@ -2052,7 +2052,7 @@ FlashGotDM.initDMS = function() {
     } catch(e) {
       fg.log(e);
     }
-    
+
     if (callback) {
       r.addEventListener("readystatechange", function() {
         if (r.readyState === 4) {
@@ -2075,16 +2075,16 @@ FlashGotDM.initDMS = function() {
       pp.descriptions.push(l.description);
       pp.cookies.push(this.getCookie(l, links));
     }
-    
+
     if (links.some(function(l) { return "fname" in l }))
       pp.fnames = links.map(function(l) { return l.fname || ''; });
-    
+
     if (links.some(function(l) { return "pwd" in l }))
       pp.arcpass = links.map(function(l) { return l.pwd || ''; });
-    
+
     if (links.some(function(l) { return "userPass" in l }))
       pp.httpauth = links.map(function(l) { return l.userPass || '' });
-    
+
     const data = [
       "autostart=" + (this.getPref("autostart", true) ? "1" : "0"),
       "package=" + encodeURIComponent(links.document && links.document.title || "FlashGot")
@@ -2103,11 +2103,11 @@ FlashGotDM.initDMS = function() {
     var r = this._createRequest("POST", function(r) {
       if (r.status != 200) self._handleRetry(ctx);
     });
-    
+
     r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     r.send(ctx.data);
   };
-  
+
   dm._handleRetry = function(ctx) {
     var msg, fail = true;
     if (ctx.retries-- == this.MAX_RETRIES) {
@@ -2148,16 +2148,16 @@ FlashGotDM.initDMS = function() {
   dm.createJob = function(links,opType) {
     return FlashGotDMX.prototype.createJob.call(this,links,opType) + "\nsleep 4\n" + this.unixCmd + " -s &\n";
   };
-  
+
   dm = new FlashGotDMX("Downloader 4 X (nt)", "nt");
   dm.createJob = function(links, opType) {
     return this.unixCmd + "&\nsleep 1\n" +
       (links.folder && links.folder._fgSelected
       ? this.unixCmd + " -d " + this.shellEsc(links.folder) + "\n"
-      :"") + 
+      :"") +
       FlashGotDMX.prototype.createJob.call(this, links, opType);
   };
-  
+
   dm = new FlashGotDMX("Downloader 4 X", "d4x", "[--referer REFERER] [-a URL] [--al POST] [COOKIE]");
   dm.askPath = [false, true, true];
   dm.cookieSupport = true;
@@ -2168,9 +2168,9 @@ FlashGotDM.initDMS = function() {
     const quiet = this.quiet;
     const len = links.length;
     var job;
-    
+
     if (len > 0) {
-        
+
       var urls = [];
       const ftpDirRx = /^(ftp:\/\/.*)\/$/;
       for (var j = 0; j < len; j++) {
@@ -2178,10 +2178,10 @@ FlashGotDM.initDMS = function() {
         this.updateProgress(links, j, len);
       }
       urls = urls.join(" ");
-      
+
       var promptURLs_fakePost = null;
       var quietURLs_fakeCookie = null;
-      
+
       if (quiet) {
         quietURLs_fakeCookie = urls;
         urls = null;
@@ -2189,28 +2189,28 @@ FlashGotDM.initDMS = function() {
         promptURLs_fakePost = urls;
         urls = null;
       }
-      
+
       var cookieFile = this.createCookieFile();
-      
+
       job = (cookieFile && cookieFile.path)
-        ? "mkdir -p $HOME/.netscape && ln -fs " + 
-          shellEsc(cookieFile.path) + 
+        ? "mkdir -p $HOME/.netscape && ln -fs " +
+          shellEsc(cookieFile.path) +
           " $HOME/.netscape/cookies\n"
         : "";
-      
+
       if (folder) job += this.unixCmd + " -d " + shellEsc(folder) + "\n";
-      
+
       job += this.createCmdLine({
-         URL: urls, 
+         URL: urls,
          REFERER: referrer,
          COOKIE: quietURLs_fakeCookie || null,
          POST: promptURLs_fakePost
-      }); 
+      });
     } else job = "";
-    
+
     return job;
   };
-  
+
   dm = new FlashGotDMX("GNOME Gwget","gwget");
   dm.askPath = ASK_NEVER;
   dm.createJob = function(links, opType) {
@@ -2220,24 +2220,24 @@ FlashGotDM.initDMS = function() {
       opType = fg.OP_ONE;
     }
     return FlashGotDMX.prototype.createJob.call(this, links, opType)
-  } 
-  
+  }
+
   dm = new FlashGotDMX("FlareGet", "flareget",
       "[URL] [-o FNAME] [-c COOKIE] [-l CFILE] [-a USERPASS] [-u UA] [-r REFERER] [-d POST]",
       "/opt/flareget");
   dm.askPath = ASK_NEVER;
- 
+
   dm = new FlashGotDMX("KDE KGet","kget", "[ULIST]");
   dm.askPath = ASK_NEVER;
-  
+
   if (isWin) {
     new FlashGotDM("wxDownload Fast");
   } else {
     dm = new FlashGotDMX("wxDownload Fast", "wxdfast", "[-reference REFERER] [-destination FOLDER] [-list UFILE]");
     dm.askPath = ASK_NEVER;
   }
-  
-  dm = new FlashGotDMX("Axel", "axel", '-n 4 [-o FNAME] [URL]');
+
+  dm = new FlashGotDMX("Axel", "axel", '-a -n 4 [-o FNAME] [URL]');
   dm.terminal = true;
   dm.createJob = function(links, opType) {
     this.argsTemplate = this.argsTemplate.replace(/\b-n \d+/, "-n " + this.getPref("connections", 4));
@@ -2257,23 +2257,23 @@ FlashGotDM.initDMS = function() {
     this.checkCookieSupport();
     this._checkAxelFeatures = function() {};
   }
-  
- 
+
+
   dm = new FlashGotDMX("cURL", "curl", '-C - -L [-o FNAME|-O] [--referer REFERER] [-b COOKIE] [-d POST] [--anyauth -u USERPASS] [--user-agent UA] [URL]');
   dm.postSupport = true;
   dm.authURLSupport = false;
   dm.terminal = true;
   if (fg.isMac) dm.autoselect = false;
-  
+
   dm = new FlashGotDMX("FatRat", "fatrat", "[ULIST]");
   dm.askPath = ASK_NEVER;
-  
+
   dm = new FlashGotDMX("MultiGet", "multiget", '[url=URL] [refer=REFERER]');
   dm.askPath = ASK_NEVER;
-  
+
   dm = new FlashGotDMX("Prozilla", "proz", '-r [-P FOLDER] [URL]');
   dm.terminal = true;
-  
+
   dm = new FlashGotDMX("Wget", "wget", '-c [-O FNAME] [--directory-prefix=FOLDER] [--referer=REFERER] [--post-data=POST] [--load-cookies=CFILE] [--header=Cookie:COOKIE] [--input-file=UFILE] [--user-agent=UA] [URL]');
   dm.postSupport = true;
   dm.terminal = true;
@@ -2296,7 +2296,7 @@ FlashGotDM.initDMS = function() {
       this.argsTemplate = opt + this.argsTemplate;
     return this.__proto__.createJob.call(this, links, opType);
   }
-  
+
   var ugetTemplate = '[--http-cookie-file=CFILE] [--http-post-data=POST] [--http-referer=REFERER] [--filename=FNAME] [--input-file=UFILE]';
   if (fg.isWindows) {
     dm = new FlashGotDMCust("uGet", "Uget");
@@ -2305,7 +2305,7 @@ FlashGotDM.initDMS = function() {
     dm.askPath = ASK_NEVER;
     dm.custom = false;
     dm._supported = null;
-    
+
     dm.customSupportCheck = function() {
       var path;
       try {
@@ -2313,10 +2313,10 @@ FlashGotDM.initDMS = function() {
       } catch (e) {
         path = this.getPref("path");
       }
-        
+
       if (!path) return false;
-      
-      try {  
+
+      try {
         var exeFile = CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
         exeFile.initWithPath(path);
         if (!(exeFile.exists() && exeFile.isExecutable())) return false;
@@ -2324,10 +2324,10 @@ FlashGotDM.initDMS = function() {
         return true;
       } catch(e) {
         return false;
-      } 
+      }
     };
-    
-    
+
+
   } else {
     dm = new FlashGotDMX("uGet", "uget-gtk",  ugetTemplate);
     dm._codeName = "Uget";
@@ -2336,13 +2336,13 @@ FlashGotDM.initDMS = function() {
   }
   // backward compatibility with name change
   // TODO: refactor me for future reuse
-  if (/\bUget\b/.test(fg.getUPref('detect.cache', ''))) { 
+  if (/\bUget\b/.test(fg.getUPref('detect.cache', ''))) {
     if (fg.defaultDM === dm.codeName) fg.defaultDM = dm.name;
     if (fg.getUPref("media.dm") === dm.codeName) fg.setUPref("media.dm", dm.name);
     fg.setUPref('detect.cache', fg.getUPref('detect.cache', '').replace(/\bUget\b/, dm.name));
   }
-  
-  
+
+
   var xdmTemplate = '[-u URL] -m [-c COOKIE] [-r REFERER]';
   if (fg.isWindows) {
     dm = new FlashGotDMCust("XDM");
@@ -2351,7 +2351,7 @@ FlashGotDM.initDMS = function() {
     dm.askPath = ASK_NEVER;
     dm.custom = false;
     dm._supported = null;
-    
+
     dm.customSupportCheck = function() {
       var path;
       try {
@@ -2359,10 +2359,10 @@ FlashGotDM.initDMS = function() {
       } catch (e) {
         path = this.getPref("path");
       }
-        
+
       if (!path) return false;
-      
-      try {  
+
+      try {
         var exeFile = CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
         exeFile.initWithPath(path);
         if (!(exeFile.exists() && exeFile.isExecutable())) return false;
@@ -2370,16 +2370,16 @@ FlashGotDM.initDMS = function() {
         return true;
       } catch(e) {
         return false;
-      } 
+      }
     };
-    
-    
+
+
   } else {
     dm = new FlashGotDMX("XDM", "xdman",  xdmTemplate);
     dm.askPath = ASK_NEVER;
   }
-  
-  
+
+
   dm = new FlashGotDM("pyLoad");
   dm.askPath = ASK_NEVER;
   dm.cookieSupport = true;
@@ -2398,7 +2398,7 @@ FlashGotDM.initDMS = function() {
     } catch(e) {
       fg.log(e);
     }
-    
+
     if (callback) {
       r.addEventListener("readystatechange", function() {
         if (r.readyState === 4) {
@@ -2420,16 +2420,16 @@ FlashGotDM.initDMS = function() {
       pp.descriptions.push(l.description);
       pp.cookies.push(this.getCookie(l, links));
     }
-    
+
     if (links.some(function(l) { return "fname" in l }))
       pp.fnames = links.map(function(l) { return l.fname || ''; });
-    
+
     if (links.some(function(l) { return "pwd" in l }))
       pp.arcpass = links.map(function(l) { return l.pwd || ''; });
-    
+
     if (links.some(function(l) { return "userPass" in l }))
       pp.httpauth = links.map(function(l) { return l.userPass || '' });
-    
+
     var pkg = (links.document && links.document.title || "FlashGot");
     // filter out all non-ASCII characters, because pyLoad 0.4.9 crashes when logging a non-ASCII character (e.g. '»')
     pkg = encodeURIComponent(pkg.replace(new RegExp("[^\x20-\x7E]","im"),""));
@@ -2464,20 +2464,20 @@ FlashGotDM.initDMS = function() {
     r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     r.send(data);
   };
-  
+
   dm = new FlashGotDMX("Aria 2", "aria2c", '--continue [-d FOLDER] [-o FNAME] [--referer=REFERER] [--load-cookies=CFILE] [--input-file=UFILE] [URL]');
   dm.terminal = true;
-  
+
   dm = new FlashGotDMX("Steadyflow", "steadyflow", '[add URL]');
   dm.askPath = ASK_NEVER;
-  
-  
+
+
     if (fg.isWindows) {
         dm = new FlashGotDMCust("ZigzagDownLoader");
         dm.cookieSupport = true;
         dm.custom = false;
         dm._supported = null;
-       
+
         dm.customSupportCheck = function() {
           var path;
           try {
@@ -2485,15 +2485,15 @@ FlashGotDM.initDMS = function() {
           } catch (e) {
             path = null;
           }
-           
+
           if (!path) return false;
-         
-          try { 
+
+          try {
             var exeFile = CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
             exeFile.initWithPath(path);
             exeFile.append("zdl.bat");
             if (!(exeFile.exists() && exeFile.isExecutable())) return false;
-            
+
             this.exeFile = exeFile;
             this.argsTemplate = "--stream [URL] [FNAME] [FOLDER] [CFILE] [COOKIE] [REFERER]";
             return true;
@@ -2510,7 +2510,7 @@ FlashGotDM.initDMS = function() {
   if (fg.isMac) {
     dm = new FlashGotDMX("Progressive Downloader", "$(defaults read com.PS.PSD psAppPath)", "-add [url UFILE] [cookie CFILE] [referer REFERER] [destination FOLDER]");
   }
-  
+
   function FlashGotDMSD(version) {
     this._initMac(typeof(version) == "number" && version > 3 ? "Speed Download" : ("Speed Download " + version), "Spee");
     this.version = version;
@@ -2519,7 +2519,7 @@ FlashGotDM.initDMS = function() {
       this.postSupport = true;
     }
   };
-  
+
   FlashGotDMSD.prototype=new FlashGotDMMac();
   FlashGotDMSD.prototype.createJob = function(links,opType) {
     var urlList = [];
@@ -2533,12 +2533,12 @@ FlashGotDM.initDMS = function() {
       }
       this.updateProgress(links, j, len);
     }
-    var job = 'tell app "' + this.macAppName + 
+    var job = 'tell app "' + this.macAppName +
       '" to AddURL {"' + urlList.join('","') + '"}';
-    
+
     if (this.postSupport) {
       var postData = links[0].postData || links.postData;
-      if (postData) { 
+      if (postData) {
         job +=' with form data "' + postData + '"';
       }
 
@@ -2551,17 +2551,17 @@ FlashGotDM.initDMS = function() {
         job += ' with cookies {"' + cookieList.join('","') + '"}';
       }
     }
-    
+
     return job;
   };
-  
+
   if (fg.getPref("oldSD", false)) {
     new FlashGotDMSD(2);
     new FlashGotDMSD(3);
   }
   new FlashGotDMSD(3.5);
   new FlashGotDMSD("Lite");
-  
+
   dm = new FlashGotDMMac("Leech", "com.manytricks.Leech");
   dm.askPath = [true, true, true];
   dm.cookieSupport = dm.postSupport = true;
@@ -2577,7 +2577,7 @@ FlashGotDM.initDMS = function() {
       }
       this.updateProgress(links, j, len);
     }
-    
+
     var job = 'tell app "' + this.macAppName + '" to download URLs {"'
       + urlList.join('", "') + '"}';
     var postData = links[0].postData || links.postData;
@@ -2586,40 +2586,40 @@ FlashGotDM.initDMS = function() {
     }
     job += ' to POSIX path "' + links.folder + '"';
     if (cookieList.length) {
-      job += ' using cookies "' + cookieList.join('; ') + '; "'; 
+      job += ' using cookies "' + cookieList.join('; ') + '; "';
     }
     const referer = this.getReferrer(links);
     if (referer && referer.length) {
       job += ' with referrer "' + referer + '"';
     }
-    
+
     return job;
   }
-  
+
   dm = new FlashGotDMMac("iGetter", "iGET");
   dm.cookieSupport = true;
   dm.nativeUI = ["sep", "link", "sel", "all"].map(
     function(s) { return "#context-igetter-" + s; }
   ).join(",");
-  
+
   dm.createJob = function(links, opType) {
     const referrer = this.getReferrer(links);
     var l, params = [];
     for (var j = 0, len = links.length; j < len; j++) {
       l = links[j];
-      params.push('{\u00ABclass ----\u00BB:"' + l.href + 
-        '", \u00ABclass refe\u00BB:"' + referrer  + 
+      params.push('{\u00ABclass ----\u00BB:"' + l.href +
+        '", \u00ABclass refe\u00BB:"' + referrer  +
         '", \u00ABclass cook\u00BB:"' + this.getCookie(l, links) +
         '"}');
       this.updateProgress(links, j, len);
     }
-    return "tell application \"" + this.macAppName + 
+    return "tell application \"" + this.macAppName +
       "\"\n\u00ABevent iGETGURL\u00BB {" +
        params.join(",") +
       "} given \u00ABclass brsg\u00BB:\"MOZB\"\n" +
       "end tell\n";
   };
-  
+
   dm = new FlashGotDMMac("Folx 2", "com.eltima.Folx");
   dm.nativeUI = "#folxAddURL, #folxAddAllURLs, #folxAddSelected";
   dm.cookieSupport = true;
@@ -2632,7 +2632,7 @@ FlashGotDM.initDMS = function() {
       titles.push(l.description.replace(/[\u0000-\u0020"\s]+/g, ' '));
     }
     var job = "tell application \"Folx\"\nactivate\n" +
-      'add URLs {"' + urls.join('", "') + 
+      'add URLs {"' + urls.join('", "') +
       "\"} with referrer \"" + this.getReferrer(links) +
       "\" with cookies {\"" + cookies.join('", "') +
       "\"} with titles {\"" + titles.join('", "') +
@@ -2642,7 +2642,7 @@ FlashGotDM.initDMS = function() {
       job += 'with post data "' + postData + '"';
     }
     job += "\nend tell";
-    
+
     return job;
   }
 
@@ -2650,46 +2650,46 @@ FlashGotDM.initDMS = function() {
   ["nativeUI", "cookieSupport", "createJob"].forEach(function(p) {
     dm[p] = FlashGotDM.dms["Folx 2"][p];
   });
-  
+
   dm.performDownload = function(links, opType) {
     var job = this.createJob(links, opType);
     this.performJob(job, true);
     this.performJob(job.replace("Folx", "Folx 3"));
   };
-  
+
   if ("nsIDownloadManager" in CI) {
     dm = new FlashGotDM(fg.getString("dm.builtIn"));
     dm._codeName = "_Built_In_";
     dm._supported = true;
     dm.priority = "zzz"; // put on the bottom of the list
-    
+
     dm.askPath = [true, true, true];
     dm.postSupport = true;
-    
+
     dm._checkLinks = function(links, cs, callback) {
       var l, ch,
         count = links.length,
         noRedir = this.getPref("noRedir") || links.postData,
         allDone = true,
         progressHolder = { progress: links.progress };
-      
+
       var rx;
       try {
         rx = new RegExp(this.getPref("noRedir.extensions"), "i");
       } catch (e) {}
-      
+
       for (var j = links.length; j-- > 0;) {
         l = links[j];
         l.uri = IOS.newURI(l.href, cs, null);
-        
+
         if (noRedir || l.postData || l.fname || !(l.uri instanceof CI.nsIURL) ||
             rx && rx.test(l.uri.fileName)) {
           count--;
           continue;
         }
-        
+
         allDone = false;
-        
+
         try {
           ch = IOS.newChannelFromURI(l.uri);
         }
@@ -2718,7 +2718,7 @@ FlashGotDM.initDMS = function() {
               // this.link.uri = ch.URI; // removed, it breaks filesonic.com...
               this.link.fname = fg.extractFileName(ch) || this.link.fname;
             }
-           
+
             if (--count === 0) {
               callback();
               progressHolder.progress.update(100);
@@ -2728,11 +2728,11 @@ FlashGotDM.initDMS = function() {
           }
         }, null);
       }
-      
+
       if (allDone) callback();
       else links.progress = null; // prevents the progress bar from being filled immediately
     };
-    
+
     dm._prepareDownload = function(links, opType) {
       const cs = links.document && links.document.characterSet || "UTF-8";
       var ref = this.getReferrer(links);
@@ -2742,11 +2742,11 @@ FlashGotDM.initDMS = function() {
         fg.log(e + "\n... for ref=" + ref + ", charset=" + cs);
         links.refURI = null;
       }
-      
+
       var self = this;
       this._checkLinks(links, cs, function() { self.performDownload(links, opType); });
     };
-    
+
     dm._streamify = function(s, contentType) {
       if (s == null) return null;
       var stream = CC["@mozilla.org/io/string-input-stream;1"].createInstance(CI.nsIStringInputStream);
@@ -2758,18 +2758,18 @@ FlashGotDM.initDMS = function() {
       mis.setData(stream);
       return mis;
     }
-    
+
     dm.performDownload = function(links, opType) {
       if (!links._prepared) {
         links._prepared = true;
         this._prepareDownload(links, opType);
         return;
       }
-      
+
       const persistFlags = CI.PERSIST_FLAGS_REPLACE_EXISTING_FILES |
         CI.nsIWebBrowserPersist.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION |
         CI.nsIWebBrowserPersist.PERSIST_FLAGS_FROM_CACHE;
-      
+
       const dType = CI.nsIDownloadManager.DOWNLOAD_TYPE_DOWNLOAD;
       var postData = links.postData, postStream;
       var uri, folder, file;
@@ -2788,7 +2788,7 @@ FlashGotDM.initDMS = function() {
       if (!JSDownloadsAPI) {
         // older browsers / Seamonkey
         if(dm.startBatchUpdate) {
-          mozAddDownload = typeof(dType) == "undefined" 
+          mozAddDownload = typeof(dType) == "undefined"
             ? function(src, dest, des, persist) { return dm.addDownload(src, dest, des, null, now, null, persist); }
             : function(src, dest, des, persist) { return dm.addDownload(dType, src, dest, des, null, null, now, null, persist); }
             ;
@@ -2797,7 +2797,7 @@ FlashGotDM.initDMS = function() {
           mozAddDownload = function(src, dest, des, persist) { return dm.addDownload(dType, src, dest, des, null, now, null, persist, fg.inPrivate); };
         }
       }
-      
+
       var dl;
       const overwrite = this.getPref("overwrite", false);
       var persist = {}; // dummy for JSDownloadsAPI
@@ -2806,14 +2806,14 @@ FlashGotDM.initDMS = function() {
         l = links[j];
         try {
           uri = l.uri;
-          
+
           file = fg.createDownloadFile(folder, l.fname || uri, overwrite);
-          
+
           if (!file) continue;
           fg.log("Saving " + l.href + " to " + file.path);
-          
+
           if (JSDownloadsAPI) {
-            
+
             JSDownloadsAPI.add(l, links, file.path, isPrivate, function(err) {
               if (isPrivate) {
                 Cu.reportError(err);
@@ -2821,7 +2821,7 @@ FlashGotDM.initDMS = function() {
                 fg.log("Skipping link " + l.href + ": " + err);
               }
             });
-            
+
             continue;
           }
 
@@ -2830,7 +2830,7 @@ FlashGotDM.initDMS = function() {
           dl =  mozAddDownload(uri, IOS.newFileURI(file), file.leafName, persist);
           if (dl instanceof CI.nsIWebProgressListener) persist.progressListener = dl;
           else continue;
-          
+
           postStream = this._streamify(l.postData || postData, l.postContentType);
           var extraHeaders = "";
           if (l.extraHeaders) {
@@ -2856,17 +2856,17 @@ FlashGotDM.initDMS = function() {
           fg.log("Skipping link " + l.href + ": " + e);
         }
       }
-      
+
       if (JSDownloadsAPI) return;
-      
+
       if(dm.endBatchUpdate) dm.endBatchUpdate();
       if(dm.flush) dm.flush();
-      
+
       if(this.getPref("showDM", true)) {
         try { // SeaMonkey
           dm.open(links.browserWindow, dl);
         } catch(notSeamonkey) {
-          
+
           const DMBRANCH = "browser.download.manager.";
           var prefs = fg.prefService.getBranch(DMBRANCH);
           try {
@@ -2898,15 +2898,10 @@ FlashGotDM.initDMS = function() {
       }
     };
   }
-  
+
   FlashGotDMCust.init();
-  
+
   fg.sortDMS();
-  
+
   dm = null;
 };
-
-
-
-
-
diff --git a/chrome/flashgot.jar!/content/flashgot/about.xul b/chrome/flashgot.jar!/content/flashgot/about.xul
index f50a686..e245f20 100644
--- a/chrome/flashgot.jar!/content/flashgot/about.xul
+++ b/chrome/flashgot.jar!/content/flashgot/about.xul
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="chrome://global/skin/" type="text/css"?><?xml-stylesheet href="chrome://flashgot/skin/about.css" type="text/css"?><!DOCTYPE dialog SYSTEM "chrome://flashgot/locale/flashgot.dtd">
-<dialog title="About FlashGot" chromehidden="menubar toolbar location directories status extrachrome" id="genericAbout" onload="about_onload()" buttons="accept" xmlns:em="http://www.mozilla.org/2004/em-rdf#" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><script type="application/x-javascript" src="chrome://flashgot/content/flashgotCommon.js"/><script type="application/x-javascript">
+<dialog title="About FlashGot" chromehidden="menubar toolbar location directories status extrachrome" id="genericAbout" onload="about_onload()" buttons="accept" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:em="http://www.mozilla.org/2004/em-rdf#"><script type="application/x-javascript" src="chrome://flashgot/content/flashgotCommon.js"/><script type="application/x-javascript">
 function about_onload() {
   const strings=document.getElementById("about-strings");
   const stringsFB=document.getElementById("about-stringsFB");
@@ -64,4 +64,4 @@ function browse(url, features) {
 }
 
 
-</script><stringbundleset id="stringbundleset"><stringbundle id="about-strings" src="chrome://flashgot/locale/about.properties"/><stringbundle id="about-stringsFB" src="chrome://flashgot/content/en-US/about.properties"/></stringbundleset><vbox id="clientBox"><vbox id="clientBoxInternal" flex="1"><hbox align="start"><vbox id="logoBox"><image id="logo" src="chrome://flashgot/skin/icon80.png" class="link" tooltiptext="Visit Extension Home Page" onclick="browse('http://flashgot.net')"/></vbo [...]
\ No newline at end of file
+</script><stringbundleset id="stringbundleset"><stringbundle id="about-strings" src="chrome://flashgot/locale/about.properties"/><stringbundle id="about-stringsFB" src="chrome://flashgot/content/en-US/about.properties"/></stringbundleset><vbox id="clientBox"><vbox id="clientBoxInternal" flex="1"><hbox align="start"><vbox id="logoBox"><image id="logo" src="chrome://flashgot/skin/icon80.png" class="link" tooltiptext="Visit Extension Home Page" onclick="browse('http://flashgot.net')"/></vbo [...]
\ No newline at end of file
diff --git a/chrome/flashgot.jar!/content/flashgot/contents.rdf b/chrome/flashgot.jar!/content/flashgot/contents.rdf
index 3d7d7e8..9de3eeb 100644
--- a/chrome/flashgot.jar!/content/flashgot/contents.rdf
+++ b/chrome/flashgot.jar!/content/flashgot/contents.rdf
@@ -8,7 +8,7 @@
     </RDF:Seq>
 
     <RDF:Description about="urn:mozilla:package:flashgot"
-            chrome:displayName="FlashGot 1.5.6.12"
+            chrome:displayName="FlashGot 1.5.6.13"
             chrome:author="Giorgio Maone (InformAction)"
             chrome:authorURL="http://www.informaction.com/g_maone"
             chrome:name="flashgot"
diff --git a/chrome/flashgot.jar!/locale/af-ZA/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/af-ZA/flashgot/flashgot.dtd
index 4c61aad..11b114c 100644
--- a/chrome/flashgot.jar!/locale/af-ZA/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/af-ZA/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Prosesseer skakels in die agtergrond">
 <!ENTITY flashgotShowLog "Vertoon log…">
 <!ENTITY flashgotClearLog "Vee Log uit">
-<!ENTITY flashgotAbout "Rakende FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Rakende FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Gaan Bevestigings Verby">
 <!ENTITY flashgotGetRightQuick "Gebruik togetright.exe wanneer moontlik">
 <!ENTITY flashgotAutostart "Outo-begin aflaai">
diff --git a/chrome/flashgot.jar!/locale/be-BY/flashgot/about.properties b/chrome/flashgot.jar!/locale/be-BY/flashgot/about.properties
index 519390b..43fba81 100644
--- a/chrome/flashgot.jar!/locale/be-BY/flashgot/about.properties
+++ b/chrome/flashgot.jar!/locale/be-BY/flashgot/about.properties
@@ -1,14 +1,14 @@
-extensions.{19503e42-ca3c-4c27-b1e2-9cdb2170ee34}.description=<<<TEST VERSION OF TRANSLATION, DO NOT INCLUDE INTO ANY RELEASE!!!>>>
-aboutTitle=Пра %S
-extensionContributors=Удзельнікі праекту:
-extensionContributors.tip=Людзі, якім вы павінны дзякаваць за гэтае пашырэньне
+extensions.{19503e42-ca3c-4c27-b1e2-9cdb2170ee34}.description=Дазваляе запампоўваць усе або толькі абраныя файлы пры дапамозе найбольш папулярных мэнэджэраў запамповак для Windows, Mac OS X, Linux and FreeBSD (падтрымліваюцца дзясяткі мэнэджэраў, глядзіце поўны спіс на хатняй старонцы пашырэння). FlashGot таксама можа збіраць мультымедыя-галерэі з мноства старонак для лёгкай і хуткай запампоўкі.
+aboutTitle=Аб пашырэнні %S
+extensionContributors=Удзельнікі:
+extensionContributors.tip=Людзі, якія дапамагалі паляпшаць пашырэнне
 extensionCreatorLabel=Аўтар:
-changelog=Сьпіс зьменаў
-changelog.tip=Паказаць сьпіс зьменаў
-license=Ліцэнзія
+changelog=Спіс зменаў
+changelog.tip=Паказаць спіс зменаў
+license=Ліцэнзійная дамова
 license.tip=Прачытаць ліцэнзійную дамову з канчатковым карыстальнікам
-logo.tip=Наведаць хатнюю старонку пашырэньня
+logo.tip=Наведаць хатнюю старонку пашырэння
 sponsor.tip=Наведаць хатнюю старонку спонсара
 informaction.tip=Наведаць хатнюю старонку InformAction
-extensionHomepage.tip=Наведаць хатнюю старонку пашырэньня
+extensionHomepage.tip=Наведаць хатнюю старонку пашырэння
 extensionCreator.tip=Наведаць хатнюю старонку аўтара
diff --git a/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.dtd
index c000976..4100d41 100644
--- a/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.dtd
@@ -6,102 +6,102 @@
 <!ENTITY flashgotAll.accesskey "A">
 <!ENTITY flashgotTabs "Запампаваць з усіх укладак пры дапамозе FlashGot">
 <!ENTITY flashgotTabs.accesskey "у">
-<!ENTITY flashgotOptions "Налады FlashGot">
-<!ENTITY includeImages.label "Уключаючы малюнкі з бягучай старонкі">
+<!ENTITY flashgotOptions "Наладкі FlashGot">
+<!ENTITY includeImages.label "Уключаючы выявы з бягучай старонкі">
 <!ENTITY hideDisabledCmds.label "Схаваць адключаныя каманды">
 <!ENTITY flashgotBuildGallery "Cтварыць галерэю">
 <!ENTITY flashgotBuildGallery.title "FlashGot - Стварыць галерэю">
 <!ENTITY flashgotGBVariableURLs "Дыяпазон адрасоў">
 <!ENTITY flashgotGBSample "Змена дыяпазону выяўляецца ў форме [пачатак-канец;крок], напрыклад:">
-<!ENTITY flashgotGBPreview "Прад. прагляд:">
-<!ENTITY flashgotGBContent "Утрыманне:">
-<!ENTITY flashgotGBReferrer "Які спасылаецца URL:">
+<!ENTITY flashgotGBPreview "Перадпрагляд:">
+<!ENTITY flashgotGBContent "Змест:">
+<!ENTITY flashgotGBReferrer "Спасылаючыся URL:">
 <!ENTITY flashgotGBSync "Сінхранізаваць інтэрвалы">
 <!ENTITY flashgotGBRanges "Дыяпазоны">
 <!ENTITY flashgotGBExpressions "Функцыі JavaScript">
 <!ENTITY flashgotGeneral "Асноўнае">
 <!ENTITY flashgotMenu "Меню">
-<!ENTITY flashgotDownloadManager "Мэнэджэр загрузак">
-<!ENTITY flashgotMoreOpts "Налады…">
-<!ENTITY flashgotExtensions "Пашырэнні">
+<!ENTITY flashgotDownloadManager "Мэнэджэр запамповак">
+<!ENTITY flashgotMoreOpts "Наладкі…">
+<!ENTITY flashgotExtensions "Пашырэнні (напрыклад jpg, mpg, mp3…)">
 <!ENTITY flashgotAdd "Дадаць">
 <!ENTITY flashgotRemove "Выдаліць">
 <!ENTITY flashgotPrivacy "Прыватнасць">
 <!ENTITY flashgotReferrer "Крыніца спасылкі">
 <!ENTITY flashgotAutodetectReferrer "Адсылаць вызначаную крыніцу URL">
-<!ENTITY flashgotFakeReferrer "Заўсёды выкарыстаць гэтая крыніца URL:">
-<!ENTITY flashgotSendCookies "Выкарыстаць Cookies">
+<!ENTITY flashgotFakeReferrer "Заўсёды выкарыстоўваць гэтую крыніцу URL:">
+<!ENTITY flashgotSendCookies "Карыстацца кукі">
 <!ENTITY flashgotAdvanced "Дадаткова">
 <!ENTITY flashgotBGProcessing "Апрацоўваць спасылкі ў фоне">
 <!ENTITY flashgotShowLog "Паказаць лог">
 <!ENTITY flashgotClearLog "Ачысціць лог">
-<!ENTITY flashgotAbout "Аб FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Аб FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Прапускаць пацверджанні">
-<!ENTITY flashgotGetRightQuick "Выкарыстаць togetright.exe калі магчыма">
-<!ENTITY flashgotAutostart "Аўтаматычна стартаваць загрузкі">
-<!ENTITY flashgotNoDMS "??? МЭНЭДЖЭРЫ ЗАГРУЗАК НЕ ВЫЯЎЛЕНЫЯ ???">
-<!ENTITY flashgotNoDMS.tip "Паказаць падтрымоўваемыя мэнэджэры загрузак">
+<!ENTITY flashgotGetRightQuick "Выкарыстоўваць togetright.exe калі магчыма">
+<!ENTITY flashgotAutostart "Аўтаматычна пачынаць запампоўкі">
+<!ENTITY flashgotNoDMS "??? МЭНЭДЖЭРЫ ЗАПАМПОВАК НЕ ВЫЯЎЛЕНЫЯ ???">
+<!ENTITY flashgotNoDMS.tip "Паказаць падтрымліваемыя мэнэджэры запамповак">
 <!ENTITY flashgotGetRightOld "Стары GetRight ( <= 5.2b )">
 <!ENTITY flashgotEncodeURLs "Адсылаць кадаваныя URL">
 <!ENTITY flashgotEnable "Уключыць">
 <!ENTITY flashgotDisable "Адключыць">
 <!ENTITY flashgotTmpDir "Часовая тэчка">
-<!ENTITY flashgotBrowse "Паказаць…">
+<!ENTITY flashgotBrowse "Праглядаць…">
 <!ENTITY flashgotReset "Скінуць">
 <!ENTITY flashgotRebootChange "Змены ўступяць у сілу пасля перазапуску браўзэра">
 <!ENTITY flashgotAltClick "Alt+Click = FlashGot">
 <!ENTITY flashgotBypassCombo "Alt+Shift+Click = без FlashGot">
-<!ENTITY flashgotDownloads "Загрузкі">
-<!ENTITY flashgotInterceptAll "Перапыніць усе загрузкі">
+<!ENTITY flashgotDownloads "Запампоўкі">
+<!ENTITY flashgotInterceptAll "Перахапіць усе запампоўкі">
 <!ENTITY flashgotLog "Лог">
-<!ENTITY flashgotShowFilter "Паказаць дыялог Фільтр">
+<!ENTITY flashgotShowFilter "Паказаць дыялог "Фільтр"">
 <!ENTITY flashgotFilter "Фільтр">
 <!ENTITY flashgotHost "Хост">
 <!ENTITY flashgotRegExp "Рэгулярныя выразы">
-<!ENTITY flashgotGlob "Glob Pattern">
+<!ENTITY flashgotGlob "Глабальны шаблон">
 <!ENTITY flashgotSelAll "Вылучыць усё">
 <!ENTITY flashgotSelInv "Звярнуць вылучэнне">
 <!ENTITY flashgotSelect "Вылучыць">
 <!ENTITY flashgotUnselect "Зняць вылучэнне">
-<!ENTITY hideIcons "Схаваць абразкі">
+<!ENTITY hideIcons "Схаваць значкі">
 <!ENTITY nestedMenu "Кампактнае меню (пры неабходнасці будзе выкарыстоўвацца падменю)">
 <!ENTITY flashgotExecutable "Шлях запуску:">
 <!ENTITY flashgotArguments "Шаблон аргументаў:">
-<!ENTITY flashgotAutodetect "Аўтаматычна вызначаць мэнэджэры загрузак">
+<!ENTITY flashgotAutodetect "Аўтаматычна вызначаць мэнэджэры запамповак">
 <!ENTITY flashgotDetect "Вызначыць зараз">
-<!ENTITY flashgotPlaceHolders "Заменнікі">
-<!ENTITY flashgotQuoteWarn1 "Вы не можаце выкарыстаць двукоссі ўсярэдзіне шаблону аргументаў.">
-<!ENTITY flashgotQuoteWarn2 "Калі вы патрабуецеся ў іх, падумайце над запісам пакетнага сцэнара.">
-<!ENTITY flashgotBadInstall "Асноўны кампанент FlashGot пашкоджаны або адсутнічае. Калі ласка пераўсталюеце FlashGot.">
+<!ENTITY flashgotPlaceHolders "Запаўняльнікі">
+<!ENTITY flashgotQuoteWarn1 "Вы не можаце карыстацца двукоссямі ўсярэдзіне шаблону аргументаў.">
+<!ENTITY flashgotQuoteWarn2 "Калі яны сапраўды патрэбныя, разгледзьце запіс пакетнага сцэнара.">
+<!ENTITY flashgotBadInstall "Асноўны кампанент FlashGot пашкоджаны або адсутнічае. Калі ласка пераўсталюйце FlashGot.">
 <!ENTITY flashgotWellGetPath "Шлях да WellGet:">
-<!ENTITY flashgotExtFilter "Ужываць фільтрацыю па пашырэнні файла пры пакетнай загрузцы">
-<!ENTITY flashgotHTTPAuth "HTTP Аўтэнтыфікацыя">
+<!ENTITY flashgotExtFilter "Ужываць фільтрацыю па пашырэнні файла пры пакетнай запампоўцы">
+<!ENTITY flashgotHTTPAuth "HTTP-аўтэнтыфікацыя">
 <!ENTITY flashgotBrowse.accesskey "b">
-<!ENTITY flashgotGesture "[Middle Button Drag Down] gesture starts FlashGot downloads">
+<!ENTITY flashgotGesture "Жэст [Middle Button Drag Down] пачынае запампоўкі FlashGot">
 <!ENTITY flashgotSelAll.accesskey "a">
 <!ENTITY flashgotSelInv.accesskey "I">
-<!ENTITY flashgotAppearance "Appearance">
-<!ENTITY flashgotDownloadDropdown "Show FlashGot drop-down inside the default download dialog">
-<!ENTITY flashgotVisitHomepage "Visit extension home page">
-<!ENTITY flashgotShownInContextMenu "Shown in context menu">
-<!ENTITY flashgotCustomEntries "Custom Entries">
-<!ENTITY flashgotDigGallery "Dig Gallery">
-<!ENTITY flashgotOverwrite "Overwrite">
-<!ENTITY flashgotMedia "FlashGot Media">
-<!ENTITY flashgotShowReleaseNotes "Display the release notes on update">
-<!ENTITY flashgotUninstall "Uninstall">
-<!ENTITY flashgotClear.label "Clear">
+<!ENTITY flashgotAppearance "Знешні выгляд">
+<!ENTITY flashgotDownloadDropdown "Паказваць звісальнае меню FlashGot унутры дыялогу запампоўкі па змаўчанні">
+<!ENTITY flashgotVisitHomepage "Наведаць старонку пашырэння">
+<!ENTITY flashgotShownInContextMenu "Паказваць у кантэкстным меню">
+<!ENTITY flashgotCustomEntries "Карыстальніцкія запісы">
+<!ENTITY flashgotDigGallery "Лічбавая галерэя">
+<!ENTITY flashgotOverwrite "Перапісваць">
+<!ENTITY flashgotMedia "Мультымедыя">
+<!ENTITY flashgotShowReleaseNotes "Паказаць нататкі аб выпуску пры абнаўленнях">
+<!ENTITY flashgotUninstall "Адусталяваць">
+<!ENTITY flashgotClear.label "Ачысціць">
 <!ENTITY flashgotClear.accesskey "c">
-<!ENTITY flashgotURL "Address">
-<!ENTITY flashgotFileName "Name">
-<!ENTITY flashgotFileType "Type">
-<!ENTITY flashgotDestinationFolder "Destination folder">
+<!ENTITY flashgotURL "Адрас">
+<!ENTITY flashgotFileName "Імя">
+<!ENTITY flashgotFileType "Тып">
+<!ENTITY flashgotDestinationFolder "Тэчка прызначэння">
 <!ENTITY flashgotDestinationFolder.accesskey "d">
 <!ENTITY flashgotFilter.accesskey "f">
-<!ENTITY flashgotAllChoosen "Choose all the items by default">
+<!ENTITY flashgotAllChoosen "Выбраць усе элементы па змаўчанні">
 <!ENTITY flashgotAllChoosen.accesskey "c">
-<!ENTITY flashgotShowToolbarButton "Show toolbar button">
-<!ENTITY flashgot.media.formats "Available formats">
-<!ENTITY flashgot.media.refresh_signature_func.label "Refresh signature">
-<!ENTITY flashgot.media.refresh_signature_func.tooltiptext "Try to refresh the signature decoding function">
-<!ENTITY flashgot.media.formats.dash "DASH (separate audio and video tracks)">
+<!ENTITY flashgotShowToolbarButton "Паказваць кнопку на панэлі інструментаў">
+<!ENTITY flashgot.media.formats "Даступныя фарматы">
+<!ENTITY flashgot.media.refresh_signature_func.label "Абнавіць подпіс">
+<!ENTITY flashgot.media.refresh_signature_func.tooltiptext "Паспрабуйце абнавіць функцыю дэкадавання подпісу">
+<!ENTITY flashgot.media.formats.dash "DASH (асобныя аўдыё і відэа трэкі)">
diff --git a/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.properties b/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.properties
index faba08d..354d80c 100644
--- a/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.properties
+++ b/chrome/flashgot.jar!/locale/be-BY/flashgot/flashgot.properties
@@ -1,25 +1,25 @@
 flashgot=FlashGot
-custom.exeFile=Размяшчэнне выконваемага файла
-custom.new.title=Новы мэнэджэр загрузак
-custom.new.text=Увядзіце імя мэнэджэра загрузак:
-custom.new.error=Памылка:\nняправільнае імя мэнэджэра загрузак або гэтае імя ўжо выкарыстоўваецца!
+custom.exeFile=Размяшчэнне выканальнага файла
+custom.new.title=Новы мэнэджэр запамповак
+custom.new.text=Увядзіце імя мэнэджэра запамповак:
+custom.new.error=Памылка:\nняправільнае імя мэнэджэра запамповак або гэтае імя ўжо выкарыстоўваецца!
 ph.URL=URL
 ph.REFERER=Крыніца URL
-ph.COOKIE=Cookie
-ph.FOLDER=Каталог прызначэння
+ph.COOKIE=Кукі
+ph.FOLDER=Тэчка прызначэння
 ph.POST=Дадзеныя POST
 ph.UFILE=Файл спісу URL
 ph.CFILE=Файл cookies.txt
-wellget.mustBeSameDrive=Выконваемы файл пераноснага WellGet павінен быць на тым жа дыску, што і профіль (%S) вашага пераноснага Firefox
-ph.COMMENT=Comment
-ph.FNAME=Suggested file name
-ph.ULIST=URL list
-ph.USERPASS=username:password
-ph.UA=User agent
-ph.HEADERS=Extra request headers
-ph.RAWPOST=POST data with related headers (Content-Type, Content-Length, etc.)
-dm.builtIn=(Browser Built In)
-rapidshareRetry.confirm=Rapidshare is asking you to wait %S seconds because you're not logged in as a Rapid Pro user.\nDo you want FlashGot to wait and retry automatically for you?\
-alwaysAsk=Always ask for confirmation
-media.defaultDM=Default (%S)
-cannotWriteFile=Unrecoverable error: file\n%S\ncannot be written!
+wellget.mustBeSameDrive=Выканальны файл пераноснага WellGet павінен быць на тым жа дыску, што і профіль (%S) вашага пераноснага Firefox
+ph.COMMENT=Каментар
+ph.FNAME=Прапанаванае імя файла
+ph.ULIST=Спіс URL
+ph.USERPASS=імя карыстальніка:пароль
+ph.UA=Агент карыстальніка
+ph.HEADERS=Дадатковыя загалоўкі запыту
+ph.RAWPOST=Дадзеныя POST з адпаведнымі загалоўкамі (Content-Type, Content-Length, і г.д.)
+dm.builtIn=(Убудаваны браўзэр)
+rapidshareRetry.confirm=Rapidshare просіць вас пачакаць %S секундаў таму што вы не зайшлі як карыстальнік Rapid Pro.\nХочаце, каб FlashGot пачакаў і аўтаматычна паўтарыў спробу?
+alwaysAsk=Заўсёды пытаць пацверджанне
+media.defaultDM=Па змаўчанні (%S)
+cannotWriteFile=Фатальная памылка: файл\n%S\nне можа быць запісаны!
diff --git a/chrome/flashgot.jar!/locale/bg-BG/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/bg-BG/flashgot/flashgot.dtd
index e841a4f..6393f18 100644
--- a/chrome/flashgot.jar!/locale/bg-BG/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/bg-BG/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Обработи линковете в заден план">
 <!ENTITY flashgotShowLog "Покажи Лог-а">
 <!ENTITY flashgotClearLog "Изчисти Лог-а">
-<!ENTITY flashgotAbout "За FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "За FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Пропусни потвърдителните прозорци">
 <!ENTITY flashgotGetRightQuick "Използвай togetright.exe когато е възможно">
 <!ENTITY flashgotAutostart "Автостарт на Даунлоадите">
diff --git a/chrome/flashgot.jar!/locale/bn-IN/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/bn-IN/flashgot/flashgot.dtd
index 0960645..de73f4c 100644
--- a/chrome/flashgot.jar!/locale/bn-IN/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/bn-IN/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log...">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/ca-AD/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ca-AD/flashgot/flashgot.dtd
index 55bf1d9..aa75dc6 100644
--- a/chrome/flashgot.jar!/locale/ca-AD/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ca-AD/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Processar enllaços en segon pla">
 <!ENTITY flashgotShowLog "Mostrar…">
 <!ENTITY flashgotClearLog "Netejar">
-<!ENTITY flashgotAbout "Sobre FlashGot 1.5.6.12…">
+<!ENTITY flashgotAbout "Sobre FlashGot 1.5.6.13…">
 <!ENTITY flashgotDMQuiet "Saltar avisos de confirmació">
 <!ENTITY flashgotGetRightQuick "Usar togetright.exe sempre que sigui possible">
 <!ENTITY flashgotAutostart "Iniciar descàrregues automàticament">
diff --git a/chrome/flashgot.jar!/locale/cs-CZ/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/cs-CZ/flashgot/flashgot.dtd
index 1b633d3..63aed88 100644
--- a/chrome/flashgot.jar!/locale/cs-CZ/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/cs-CZ/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Zpracovávat odkazy na pozadí">
 <!ENTITY flashgotShowLog "Zobrazit záznam">
 <!ENTITY flashgotClearLog "Smazat záznam">
-<!ENTITY flashgotAbout "O rozšíření FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "O rozšíření FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Přeskočit dotazy s potvrzením">
 <!ENTITY flashgotGetRightQuick "Používat togetright.exe vždy, když je to možné">
 <!ENTITY flashgotAutostart "Automatické stahování">
diff --git a/chrome/flashgot.jar!/locale/da-DK/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/da-DK/flashgot/flashgot.dtd
index f0b8660..c4d7d81 100644
--- a/chrome/flashgot.jar!/locale/da-DK/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/da-DK/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Udfør links i baggrunden">
 <!ENTITY flashgotShowLog "Vis log…">
 <!ENTITY flashgotClearLog "Ryd log">
-<!ENTITY flashgotAbout "Om FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Om FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Spring (Confirmation Prompts) over">
 <!ENTITY flashgotGetRightQuick "Brug togetright.exe når det er muligt">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/da/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/da/flashgot/flashgot.dtd
index ccf8cc0..41fbb90 100644
--- a/chrome/flashgot.jar!/locale/da/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/da/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Udfør links i baggrunden">
 <!ENTITY flashgotShowLog "Vis log">
 <!ENTITY flashgotClearLog "Ryd log">
-<!ENTITY flashgotAbout "Om FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Om FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Spring bekræftelser over">
 <!ENTITY flashgotGetRightQuick "Brug togetright.exe når det er muligt">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/de/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/de/flashgot/flashgot.dtd
index 93cea25..34e9877 100644
--- a/chrome/flashgot.jar!/locale/de/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/de/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Links im Hintergrund verarbeiten">
 <!ENTITY flashgotShowLog "Protokoll anzeigen…">
 <!ENTITY flashgotClearLog "Protokoll löschen">
-<!ENTITY flashgotAbout "Über FlashGot 1.5.6.12…">
+<!ENTITY flashgotAbout "Über FlashGot 1.5.6.13…">
 <!ENTITY flashgotDMQuiet "Bestätigungsabfragen überspringen bei">
 <!ENTITY flashgotGetRightQuick "Wann immer möglich togetright.exe verwenden">
 <!ENTITY flashgotAutostart "Downloads automatisch starten">
diff --git a/chrome/flashgot.jar!/locale/el-GR/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/el-GR/flashgot/flashgot.dtd
index 95a521b..ab862ad 100644
--- a/chrome/flashgot.jar!/locale/el-GR/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/el-GR/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Διεργασία δεσμών στο παρασκήνιο">
 <!ENTITY flashgotShowLog "Εμφάνιση αρχείου καταγραφής">
 <!ENTITY flashgotClearLog "Εκκαθάριση αρχείου καταγραφής">
-<!ENTITY flashgotAbout "Περί FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Περί FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Παράκαμψη ειδοποιήσεων επιβεβαίωσης">
 <!ENTITY flashgotGetRightQuick "Χρήση togetright.exe όταν είναι δυνατόν">
 <!ENTITY flashgotAutostart "Αυτόματη εκκίνηση μεταφορτώσεων">
diff --git a/chrome/flashgot.jar!/locale/el/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/el/flashgot/flashgot.dtd
index cb6eb49..8840eb0 100644
--- a/chrome/flashgot.jar!/locale/el/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/el/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Διεργασία δεσμών στο παρασκήνιο">
 <!ENTITY flashgotShowLog "Εμφάνιση αρχείου καταγραφής">
 <!ENTITY flashgotClearLog "Εκκαθάριση αρχείου καταγραφής">
-<!ENTITY flashgotAbout "Περί FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Περί FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Παράκαμψη ειδοποιήσεων επιβεβαίωσης">
 <!ENTITY flashgotGetRightQuick "Χρήση togetright.exe όταν είναι δυνατόν">
 <!ENTITY flashgotAutostart "Αυτόματη εκκίνηση μεταφορτώσεων">
diff --git a/chrome/flashgot.jar!/locale/en-US/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/en-US/flashgot/flashgot.dtd
index b230bd6..10bb307 100644
--- a/chrome/flashgot.jar!/locale/en-US/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/en-US/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log…">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/es-AR/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/es-AR/flashgot/flashgot.dtd
index 0b1d8a0..c860135 100644
--- a/chrome/flashgot.jar!/locale/es-AR/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/es-AR/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Procesar enlaces en segundo plano">
 <!ENTITY flashgotShowLog "Mostrar historial de cambio…">
 <!ENTITY flashgotClearLog "Limpiar historial de cambios">
-<!ENTITY flashgotAbout "Acerca de FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Acerca de FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Omitir mensajes de confirmación">
 <!ENTITY flashgotGetRightQuick "Usar togetright.exe siempre que sea posible">
 <!ENTITY flashgotAutostart "Iniciar descargas automáticamente">
diff --git a/chrome/flashgot.jar!/locale/es-CL/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/es-CL/flashgot/flashgot.dtd
index 5dfe836..e7e9905 100644
--- a/chrome/flashgot.jar!/locale/es-CL/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/es-CL/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Procesar enlaces en segundo plano">
 <!ENTITY flashgotShowLog "Mostrar registro…">
 <!ENTITY flashgotClearLog "Limpiar registro">
-<!ENTITY flashgotAbout "Acerca de FlashGot 1.5.6.12…">
+<!ENTITY flashgotAbout "Acerca de FlashGot 1.5.6.13…">
 <!ENTITY flashgotDMQuiet "No mostrar mensajes de confirmación">
 <!ENTITY flashgotGetRightQuick "Usar togetright.exe siempre que sea posible">
 <!ENTITY flashgotAutostart "Iniciar descargas automáticamente">
diff --git a/chrome/flashgot.jar!/locale/es-ES/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/es-ES/flashgot/flashgot.dtd
index 61c1d6a..50c1edd 100644
--- a/chrome/flashgot.jar!/locale/es-ES/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/es-ES/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Procesar enlaces en segundo plano">
 <!ENTITY flashgotShowLog "Mostrar registro…">
 <!ENTITY flashgotClearLog "Limpiar registro">
-<!ENTITY flashgotAbout "Acerca de FlashGot 1.5.6.12…">
+<!ENTITY flashgotAbout "Acerca de FlashGot 1.5.6.13…">
 <!ENTITY flashgotDMQuiet "No mostrar mensajes de confirmación">
 <!ENTITY flashgotGetRightQuick "Usar togetright.exe siempre que sea posible">
 <!ENTITY flashgotAutostart "Iniciar descargas automáticamente">
diff --git a/chrome/flashgot.jar!/locale/et-EE/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/et-EE/flashgot/flashgot.dtd
index 94d2786..47ae5c4 100644
--- a/chrome/flashgot.jar!/locale/et-EE/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/et-EE/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log...">
 <!ENTITY flashgotClearLog "Puhasta logi">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/eu-ES/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/eu-ES/flashgot/flashgot.dtd
index 7cca894..36d4d6f 100644
--- a/chrome/flashgot.jar!/locale/eu-ES/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/eu-ES/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log…">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/eu/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/eu/flashgot/flashgot.dtd
index 7cca894..36d4d6f 100644
--- a/chrome/flashgot.jar!/locale/eu/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/eu/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log…">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/fa-IR/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/fa-IR/flashgot/flashgot.dtd
index 1e694c2..b55fb61 100644
--- a/chrome/flashgot.jar!/locale/fa-IR/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/fa-IR/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "انجام عملیات در پس زمینه">
 <!ENTITY flashgotShowLog "نمایش وقایع">
 <!ENTITY flashgotClearLog "پاک کردن وقایع">
-<!ENTITY flashgotAbout "درباره FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "درباره FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "عدم نمایش پیغامهای تایید">
 <!ENTITY flashgotGetRightQuick "استفاده شود togetright.exe در هر زمان ممکن از">
 <!ENTITY flashgotAutostart "شروع خودکار دریافتی‌ها">
diff --git a/chrome/flashgot.jar!/locale/fi-FI/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/fi-FI/flashgot/flashgot.dtd
index 5516bac..0b8bd44 100644
--- a/chrome/flashgot.jar!/locale/fi-FI/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/fi-FI/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Käsittele linkit tausta-ajona">
 <!ENTITY flashgotShowLog "Näytä loki…">
 <!ENTITY flashgotClearLog "Tyhjennä loki">
-<!ENTITY flashgotAbout "Tietoja FlashGot 1.5.6.12:sta">
+<!ENTITY flashgotAbout "Tietoja FlashGot 1.5.6.13:sta">
 <!ENTITY flashgotDMQuiet "Ohita varmennuskyselyt">
 <!ENTITY flashgotGetRightQuick "Käytä togetright.exe:ä aina kun mahdollista">
 <!ENTITY flashgotAutostart "Aloita tiedostojen siirto automaattisesti">
diff --git a/chrome/flashgot.jar!/locale/fi/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/fi/flashgot/flashgot.dtd
index 5516bac..0b8bd44 100644
--- a/chrome/flashgot.jar!/locale/fi/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/fi/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Käsittele linkit tausta-ajona">
 <!ENTITY flashgotShowLog "Näytä loki…">
 <!ENTITY flashgotClearLog "Tyhjennä loki">
-<!ENTITY flashgotAbout "Tietoja FlashGot 1.5.6.12:sta">
+<!ENTITY flashgotAbout "Tietoja FlashGot 1.5.6.13:sta">
 <!ENTITY flashgotDMQuiet "Ohita varmennuskyselyt">
 <!ENTITY flashgotGetRightQuick "Käytä togetright.exe:ä aina kun mahdollista">
 <!ENTITY flashgotAutostart "Aloita tiedostojen siirto automaattisesti">
diff --git a/chrome/flashgot.jar!/locale/fr/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/fr/flashgot/flashgot.dtd
index 79323ad..c624d9f 100644
--- a/chrome/flashgot.jar!/locale/fr/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/fr/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Traiter les liens en arrière-plan">
 <!ENTITY flashgotShowLog "Montrer le journal…">
 <!ENTITY flashgotClearLog "Effacer le journal">
-<!ENTITY flashgotAbout "À propos de FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "À propos de FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Ignorer la fenêtre de confirmation">
 <!ENTITY flashgotGetRightQuick "Utiliser togetright.exe quand c'est possible">
 <!ENTITY flashgotAutostart "Démarrer les téléchargements automatiquement">
diff --git a/chrome/flashgot.jar!/locale/gl-ES/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/gl-ES/flashgot/flashgot.dtd
index 7a88f83..2f08de8 100644
--- a/chrome/flashgot.jar!/locale/gl-ES/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/gl-ES/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Procesar as ligazóns en segundo plano">
 <!ENTITY flashgotShowLog "Amosar o rexistro…">
 <!ENTITY flashgotClearLog "Limpar o rexistro">
-<!ENTITY flashgotAbout "Sobre FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Sobre FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Non amosar avisos de confirmación">
 <!ENTITY flashgotGetRightQuick "Empregar togetright.exe sempre que sexa posible">
 <!ENTITY flashgotAutostart "Comezar automaticamente as descargas">
diff --git a/chrome/flashgot.jar!/locale/he-IL/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/he-IL/flashgot/flashgot.dtd
index b9854fc..967f92d 100644
--- a/chrome/flashgot.jar!/locale/he-IL/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/he-IL/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "עבד קישורים ברקע">
 <!ENTITY flashgotShowLog "הראה תיעוד…">
 <!ENTITY flashgotClearLog "נקה תיעוד">
-<!ENTITY flashgotAbout "אודות FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "אודות FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "דלג על אימות Prompts">
 <!ENTITY flashgotGetRightQuick "השתמש בtogetright.exe כל עוד זה אפשרי">
 <!ENTITY flashgotAutostart "התחל הורדות באופן אוטומטי">
diff --git a/chrome/flashgot.jar!/locale/he/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/he/flashgot/flashgot.dtd
index 0058c9d..a33b13f 100644
--- a/chrome/flashgot.jar!/locale/he/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/he/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "תהליך עיבוד קישורים ברקע">
 <!ENTITY flashgotShowLog "הצג יומן רישום...">
 <!ENTITY flashgotClearLog "נקה את יומן הרישום">
-<!ENTITY flashgotAbout "אודות FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "אודות FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "דלג על בקשות אישור">
 <!ENTITY flashgotGetRightQuick "השתמש ב־ togetright.exe במידת האפשר">
 <!ENTITY flashgotAutostart "הפעלה עצמית של הורדות">
diff --git a/chrome/flashgot.jar!/locale/hi-IN/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/hi-IN/flashgot/flashgot.dtd
index dc13325..2c84c09 100644
--- a/chrome/flashgot.jar!/locale/hi-IN/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/hi-IN/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log...">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/hr-HR/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/hr-HR/flashgot/flashgot.dtd
index f3132cc..db559a3 100644
--- a/chrome/flashgot.jar!/locale/hr-HR/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/hr-HR/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Obradi veze u pozadini">
 <!ENTITY flashgotShowLog "Prikaži zapis…">
 <!ENTITY flashgotClearLog "Očisti zapis">
-<!ENTITY flashgotAbout "O FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "O FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Preskoči obavijesti koje treba potvrđivati">
 <!ENTITY flashgotGetRightQuick "Koristi togetright.exe kad god je to moguće">
 <!ENTITY flashgotAutostart "Automatski pokreni preuzimanje">
diff --git a/chrome/flashgot.jar!/locale/hu/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/hu/flashgot/flashgot.dtd
index 149bb00..59d70d5 100644
--- a/chrome/flashgot.jar!/locale/hu/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/hu/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Linkek feldolgozása a háttérben">
 <!ENTITY flashgotShowLog "Naplófájl olvasása">
 <!ENTITY flashgotClearLog "Naplófájl törlése">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12 névjegye">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13 névjegye">
 <!ENTITY flashgotDMQuiet "Párbeszédablakok átugrása">
 <!ENTITY flashgotGetRightQuick "A togetright.exe használata, ha lehetséges">
 <!ENTITY flashgotAutostart "Letöltések automatikus indítása">
diff --git a/chrome/flashgot.jar!/locale/hy-AM/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/hy-AM/flashgot/flashgot.dtd
index c690807..79ee70b 100644
--- a/chrome/flashgot.jar!/locale/hy-AM/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/hy-AM/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log…">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/id-ID/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/id-ID/flashgot/flashgot.dtd
index 7e78425..e3244ec 100644
--- a/chrome/flashgot.jar!/locale/id-ID/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/id-ID/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Proses links di background">
 <!ENTITY flashgotShowLog "Tampilkan Log">
 <!ENTITY flashgotClearLog "Hapus Log">
-<!ENTITY flashgotAbout "Tentang FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Tentang FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Abaikan Dialog Konfirmasi">
 <!ENTITY flashgotGetRightQuick "Gunakan togetright.exe apabila dimungkinkan">
 <!ENTITY flashgotAutostart "Memulai download secara otomatis">
diff --git a/chrome/flashgot.jar!/locale/it-IT/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/it-IT/flashgot/flashgot.dtd
index 8f262ff..c27dcb4 100644
--- a/chrome/flashgot.jar!/locale/it-IT/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/it-IT/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Elabora i link in background">
 <!ENTITY flashgotShowLog "Mostra log">
 <!ENTITY flashgotClearLog "Cancella log">
-<!ENTITY flashgotAbout "Informazioni su FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Informazioni su FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Evita le finestre di conferma">
 <!ENTITY flashgotGetRightQuick "Usa togetright.exe quando è possibile">
 <!ENTITY flashgotAutostart "Inizia i download automaticamente">
diff --git a/chrome/flashgot.jar!/locale/it/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/it/flashgot/flashgot.dtd
index 8f262ff..c27dcb4 100644
--- a/chrome/flashgot.jar!/locale/it/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/it/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Elabora i link in background">
 <!ENTITY flashgotShowLog "Mostra log">
 <!ENTITY flashgotClearLog "Cancella log">
-<!ENTITY flashgotAbout "Informazioni su FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Informazioni su FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Evita le finestre di conferma">
 <!ENTITY flashgotGetRightQuick "Usa togetright.exe quando è possibile">
 <!ENTITY flashgotAutostart "Inizia i download automaticamente">
diff --git a/chrome/flashgot.jar!/locale/ja-JP/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ja-JP/flashgot/flashgot.dtd
index 57ace1e..42c8e53 100644
--- a/chrome/flashgot.jar!/locale/ja-JP/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ja-JP/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "バックグラウンドで処理">
 <!ENTITY flashgotShowLog "ログを表示">
 <!ENTITY flashgotClearLog "ログをクリア">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12 について">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13 について">
 <!ENTITY flashgotDMQuiet "確認画面をスキップ">
 <!ENTITY flashgotGetRightQuick "可能であれば togetright.exe を使用">
 <!ENTITY flashgotAutostart "ダウンロードを自動で開始する">
diff --git a/chrome/flashgot.jar!/locale/ka-GE/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ka-GE/flashgot/flashgot.dtd
index 5e5b27f..f3665a5 100644
--- a/chrome/flashgot.jar!/locale/ka-GE/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ka-GE/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "ლინკების შესრულება უკანა ფონზე">
 <!ENTITY flashgotShowLog "ლოგის ნახვა…">
 <!ENTITY flashgotClearLog "ლოგის გასუფთავება">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12_ის შესახებ">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13_ის შესახებ">
 <!ENTITY flashgotDMQuiet "დამოწმების გამოტოვება">
 <!ENTITY flashgotGetRightQuick "გამოიყენე togetright.exe როცა შესაძლებელია">
 <!ENTITY flashgotAutostart "გადმოწერის ავტომატურად დაწყება">
diff --git a/chrome/flashgot.jar!/locale/kk-KZ/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/kk-KZ/flashgot/flashgot.dtd
index 2a303c8..58d2a28 100644
--- a/chrome/flashgot.jar!/locale/kk-KZ/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/kk-KZ/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Сілтемелерді білдіртпей-ақ өңдеу">
 <!ENTITY flashgotShowLog "Лог көрсету…">
 <!ENTITY flashgotClearLog "Логты тазалау">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12 туралы">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13 туралы">
 <!ENTITY flashgotDMQuiet "Растаулар сұранымдарын өткізіп жіберу">
 <!ENTITY flashgotGetRightQuick "Мүмкін болса togetright.exe қолдану">
 <!ENTITY flashgotAutostart "Жүктемелерді автоматты түрде бастау">
diff --git a/chrome/flashgot.jar!/locale/km-KH/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/km-KH/flashgot/flashgot.dtd
index dc13325..2c84c09 100644
--- a/chrome/flashgot.jar!/locale/km-KH/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/km-KH/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log...">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/lt-LT/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/lt-LT/flashgot/flashgot.dtd
index 77a1ebe..d135976 100644
--- a/chrome/flashgot.jar!/locale/lt-LT/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/lt-LT/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log...">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/mk-MK/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/mk-MK/flashgot/flashgot.dtd
index bdd930f..8f77987 100644
--- a/chrome/flashgot.jar!/locale/mk-MK/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/mk-MK/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Обработи ги врските во позадина">
 <!ENTITY flashgotShowLog "Покажи го Дневникот…">
 <!ENTITY flashgotClearLog "Исчисти го Дневникот">
-<!ENTITY flashgotAbout "За FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "За FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Прескокни ги Потврдните Прашалници">
 <!ENTITY flashgotGetRightQuick "Користи togetright.exe секогаш кога е возможно">
 <!ENTITY flashgotAutostart "Автоматски стартувај ги симнувањата">
diff --git a/chrome/flashgot.jar!/locale/ml-IN/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ml-IN/flashgot/flashgot.dtd
index 0f5d7b3..6b86e6e 100644
--- a/chrome/flashgot.jar!/locale/ml-IN/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ml-IN/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Process links in background">
 <!ENTITY flashgotShowLog "Show Log...">
 <!ENTITY flashgotClearLog "Clear Log">
-<!ENTITY flashgotAbout "About FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "About FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Skip Confirmation Prompts">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/mn-MN/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/mn-MN/flashgot/flashgot.dtd
index 29077e9..8534df7 100644
--- a/chrome/flashgot.jar!/locale/mn-MN/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/mn-MN/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Холбоосуудыг ар талд ажиллуулах">
 <!ENTITY flashgotShowLog "Бүртгэл харах…">
 <!ENTITY flashgotClearLog "Бүртгэл цэвэрлэх">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12-ын тухай">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13-ын тухай">
 <!ENTITY flashgotDMQuiet "Баталгаажуулах асуултыг алгасах">
 <!ENTITY flashgotGetRightQuick "Энэ нь боломжтой бол хэдийд ч togetright.exe хэрэглэх">
 <!ENTITY flashgotAutostart "Татцыг шууд эхлэх">
diff --git a/chrome/flashgot.jar!/locale/ms-MY/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ms-MY/flashgot/flashgot.dtd
index c45f71c..ad1925e 100644
--- a/chrome/flashgot.jar!/locale/ms-MY/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ms-MY/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Proses rangkaian di latarbelakang">
 <!ENTITY flashgotShowLog "Papar Log…">
 <!ENTITY flashgotClearLog "Padam Log">
-<!ENTITY flashgotAbout "Tentang FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Tentang FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Jangkau Prom Pengesahan">
 <!ENTITY flashgotGetRightQuick "Guna togetright.exe seboleh mungkin">
 <!ENTITY flashgotAutostart "Auto-mula Muat Turun">
diff --git a/chrome/flashgot.jar!/locale/nb-NO/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/nb-NO/flashgot/flashgot.dtd
index 8df73a9..f8a1f61 100644
--- a/chrome/flashgot.jar!/locale/nb-NO/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/nb-NO/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Åpne lenker i bakgrunnen">
 <!ENTITY flashgotShowLog "Vis logg">
 <!ENTITY flashgotClearLog "Tøm logg">
-<!ENTITY flashgotAbout "Om FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Om FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Hopp over bekreftelser">
 <!ENTITY flashgotGetRightQuick "Use togetright.exe whenever it is possible">
 <!ENTITY flashgotAutostart "Autostart downloads">
diff --git a/chrome/flashgot.jar!/locale/nl/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/nl/flashgot/flashgot.dtd
index 2ed10a0..ea67219 100644
--- a/chrome/flashgot.jar!/locale/nl/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/nl/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Koppelingen op de achtergrond verwerken">
 <!ENTITY flashgotShowLog "Log weergeven…">
 <!ENTITY flashgotClearLog "Log wissen">
-<!ENTITY flashgotAbout "Over FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Over FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Vragen om een bevestiging overslaan">
 <!ENTITY flashgotGetRightQuick "Gebruik togetright.exe wanneer mogelijk">
 <!ENTITY flashgotAutostart "Downloads automatisch starten">
diff --git a/chrome/flashgot.jar!/locale/pl/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/pl/flashgot/flashgot.dtd
index b347428..3f8e5ae 100644
--- a/chrome/flashgot.jar!/locale/pl/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/pl/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Przetwarzaj odnośniki w tle">
 <!ENTITY flashgotShowLog "Pokaż rejestr…">
 <!ENTITY flashgotClearLog "Wyczyść rejestr">
-<!ENTITY flashgotAbout "O FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "O FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Nie wymagaj potwierdzeń">
 <!ENTITY flashgotGetRightQuick "Użyj togetright.exe, jeśli to możliwe">
 <!ENTITY flashgotAutostart "Automatycznie rozpocznij pobieranie">
diff --git a/chrome/flashgot.jar!/locale/pt-BR/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/pt-BR/flashgot/flashgot.dtd
index cf8a18f..2efc248 100644
--- a/chrome/flashgot.jar!/locale/pt-BR/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/pt-BR/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Processar links em segundo plano">
 <!ENTITY flashgotShowLog "Exibir log…">
 <!ENTITY flashgotClearLog "Limpar log">
-<!ENTITY flashgotAbout "Sobre o FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Sobre o FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Executar sem confirmações">
 <!ENTITY flashgotGetRightQuick "Usar togetright.exe sempre que possível">
 <!ENTITY flashgotAutostart "Iniciar downloads automaticamente">
diff --git a/chrome/flashgot.jar!/locale/pt-PT/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/pt-PT/flashgot/flashgot.dtd
index bb15b2c..acd42a5 100644
--- a/chrome/flashgot.jar!/locale/pt-PT/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/pt-PT/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Processar links em segundo plano">
 <!ENTITY flashgotShowLog "Exibir Log…">
 <!ENTITY flashgotClearLog "Limpar Log">
-<!ENTITY flashgotAbout "Sobre o FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Sobre o FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Executar Sem Confimações">
 <!ENTITY flashgotGetRightQuick "Usar togetright.exe sempre que possível">
 <!ENTITY flashgotAutostart "Iniciar downloads automaticamente">
diff --git a/chrome/flashgot.jar!/locale/ro-RO/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ro-RO/flashgot/flashgot.dtd
index 015ef98..4e84bba 100644
--- a/chrome/flashgot.jar!/locale/ro-RO/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ro-RO/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Proceseaza link-urile in fundal">
 <!ENTITY flashgotShowLog "Arata log-ul">
 <!ENTITY flashgotClearLog "Sterge log-ul">
-<!ENTITY flashgotAbout "Despre FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Despre FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Sari peste ferestrele de confimare">
 <!ENTITY flashgotGetRightQuick "Foloseste togetright.exe cand e posibil">
 <!ENTITY flashgotAutostart "Autostart descarcari">
diff --git a/chrome/flashgot.jar!/locale/ru/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/ru/flashgot/flashgot.dtd
index 9dd3a77..de7b2c9 100644
--- a/chrome/flashgot.jar!/locale/ru/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/ru/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Обрабатывать ссылки в фоне">
 <!ENTITY flashgotShowLog "Показать журнал">
 <!ENTITY flashgotClearLog "Очистить журнал">
-<!ENTITY flashgotAbout "О FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "О FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Пропускать подтверждения">
 <!ENTITY flashgotGetRightQuick "Использовать togetright.exe, если возможно">
 <!ENTITY flashgotAutostart "Автоматически стартовать закачки">
diff --git a/chrome/flashgot.jar!/locale/sk-SK/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/sk-SK/flashgot/flashgot.dtd
index 0300722..5577028 100644
--- a/chrome/flashgot.jar!/locale/sk-SK/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/sk-SK/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Spracovávať odkazy na pozadí">
 <!ENTITY flashgotShowLog "Zobraziť záznam">
 <!ENTITY flashgotClearLog "Odstrániť záznam">
-<!ENTITY flashgotAbout "Čo je rozšírenie FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Čo je rozšírenie FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Preskočiť okná s potvrdením">
 <!ENTITY flashgotGetRightQuick "Použiť togetright.exe vždy keď je to možné">
 <!ENTITY flashgotAutostart "Automaticky spustiť sťahovanie">
diff --git a/chrome/flashgot.jar!/locale/sl-SI/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/sl-SI/flashgot/flashgot.dtd
index bb68c1b..8b09238 100644
--- a/chrome/flashgot.jar!/locale/sl-SI/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/sl-SI/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Predeluj povezave v ozadju">
 <!ENTITY flashgotShowLog "Pokaži dnevnik …">
 <!ENTITY flashgotClearLog "Počisti dnevnik">
-<!ENTITY flashgotAbout "O razširitvi FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "O razširitvi FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Preskoči potrditvena vprašanja">
 <!ENTITY flashgotGetRightQuick "Uporabi togetright.exe, ko je to mogoče">
 <!ENTITY flashgotAutostart "Samozaženi prenose">
diff --git a/chrome/flashgot.jar!/locale/sq-AL/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/sq-AL/flashgot/flashgot.dtd
index 57681aa..c3cc09f 100644
--- a/chrome/flashgot.jar!/locale/sq-AL/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/sq-AL/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Proceso linket në sfond">
 <!ENTITY flashgotShowLog "Trego">
 <!ENTITY flashgotClearLog "Pastro">
-<!ENTITY flashgotAbout "Informacion mbi FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Informacion mbi FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Kapërceji Nxitjet për Konfirmim">
 <!ENTITY flashgotGetRightQuick "Përdore togetright.exe sa herë të jetë e mundur">
 <!ENTITY flashgotAutostart "Vetënisi shkarkimet">
diff --git a/chrome/flashgot.jar!/locale/sr/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/sr/flashgot/flashgot.dtd
index 8492b47..ff8d095 100644
--- a/chrome/flashgot.jar!/locale/sr/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/sr/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Обради везе у позадини">
 <!ENTITY flashgotShowLog "Прикажи журнал…">
 <!ENTITY flashgotClearLog "Очисти журнал">
-<!ENTITY flashgotAbout "О FlashGot 1.5.6.12-у">
+<!ENTITY flashgotAbout "О FlashGot 1.5.6.13-у">
 <!ENTITY flashgotDMQuiet "Прескочи упите потврда">
 <!ENTITY flashgotGetRightQuick "Користи togetright.exe увек кад је то могуће">
 <!ENTITY flashgotAutostart "Самопокрени преузимања">
diff --git a/chrome/flashgot.jar!/locale/sv-SE/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/sv-SE/flashgot/flashgot.dtd
index c838632..a2900c7 100644
--- a/chrome/flashgot.jar!/locale/sv-SE/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/sv-SE/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Bearbeta länkar i bakgrunden">
 <!ENTITY flashgotShowLog "Visa logg…">
 <!ENTITY flashgotClearLog "Rensa logg">
-<!ENTITY flashgotAbout "Om FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Om FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Hoppa över bekräftelseförfrågningar">
 <!ENTITY flashgotGetRightQuick "Använd togetright.exe när det är möjligt">
 <!ENTITY flashgotAutostart "Starta nedladdningar automatiskt">
diff --git a/chrome/flashgot.jar!/locale/th-TH/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/th-TH/flashgot/flashgot.dtd
index 9c62e16..3056345 100644
--- a/chrome/flashgot.jar!/locale/th-TH/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/th-TH/flashgot/flashgot.dtd
@@ -33,7 +33,7 @@
 <!ENTITY flashgotBGProcessing "ประมวลผลลิงค์แบบ Background">
 <!ENTITY flashgotShowLog "แสดงล็อก">
 <!ENTITY flashgotClearLog "ล้างล็อก">
-<!ENTITY flashgotAbout "เกี่ยวกับ FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "เกี่ยวกับ FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "ข้ามขั้นตอนการยืนยัน">
 <!ENTITY flashgotGetRightQuick "ใช้ togetright.exe เมื่อเป็นไปได้">
 <!ENTITY flashgotAutostart "เริ่มดาวน์โหลดอัตโนมัติ">
diff --git a/chrome/flashgot.jar!/locale/th/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/th/flashgot/flashgot.dtd
index 9c62e16..3056345 100644
--- a/chrome/flashgot.jar!/locale/th/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/th/flashgot/flashgot.dtd
@@ -33,7 +33,7 @@
 <!ENTITY flashgotBGProcessing "ประมวลผลลิงค์แบบ Background">
 <!ENTITY flashgotShowLog "แสดงล็อก">
 <!ENTITY flashgotClearLog "ล้างล็อก">
-<!ENTITY flashgotAbout "เกี่ยวกับ FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "เกี่ยวกับ FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "ข้ามขั้นตอนการยืนยัน">
 <!ENTITY flashgotGetRightQuick "ใช้ togetright.exe เมื่อเป็นไปได้">
 <!ENTITY flashgotAutostart "เริ่มดาวน์โหลดอัตโนมัติ">
diff --git a/chrome/flashgot.jar!/locale/tr-TR/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/tr-TR/flashgot/flashgot.dtd
index 6f4e40e..88eef2c 100644
--- a/chrome/flashgot.jar!/locale/tr-TR/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/tr-TR/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Bağlantıyı arkaplanda işle">
 <!ENTITY flashgotShowLog "Kayıtları Göster…">
 <!ENTITY flashgotClearLog "Kayıtları Temizle">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12 Hakkında">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13 Hakkında">
 <!ENTITY flashgotDMQuiet "Onaylama sorgularını atla">
 <!ENTITY flashgotGetRightQuick "Münkün olduğunda togetright.exe dosyasını kullan">
 <!ENTITY flashgotAutostart "İndirmeleri Otomatik Başlat">
diff --git a/chrome/flashgot.jar!/locale/tr/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/tr/flashgot/flashgot.dtd
index d755b27..9321c8c 100644
--- a/chrome/flashgot.jar!/locale/tr/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/tr/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Bağlantıyı arkaplanda işle">
 <!ENTITY flashgotShowLog "Kayıtları Göster">
 <!ENTITY flashgotClearLog "Kayıtları Temizle">
-<!ENTITY flashgotAbout "FlashGot 1.5.6.12 Hakkında">
+<!ENTITY flashgotAbout "FlashGot 1.5.6.13 Hakkında">
 <!ENTITY flashgotDMQuiet "Onaylama sorgularını atla">
 <!ENTITY flashgotGetRightQuick "Münkün olduğunda togetright.exe dosyasını kullan">
 <!ENTITY flashgotAutostart "İndirmeleri Otomatik Başlat">
diff --git a/chrome/flashgot.jar!/locale/uk-UA/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/uk-UA/flashgot/flashgot.dtd
index fe02416..65a71c0 100644
--- a/chrome/flashgot.jar!/locale/uk-UA/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/uk-UA/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Обробляти посилання у фоновому режимі">
 <!ENTITY flashgotShowLog "Показати журнал…">
 <!ENTITY flashgotClearLog "Очистити журнал">
-<!ENTITY flashgotAbout "Про FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Про FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Пропускати підтвердження">
 <!ENTITY flashgotGetRightQuick "Використовувати togetright.exe коли це можливо">
 <!ENTITY flashgotAutostart "Автоматично починати завантаження">
diff --git a/chrome/flashgot.jar!/locale/uk/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/uk/flashgot/flashgot.dtd
index 7d8c0eb..6729912 100644
--- a/chrome/flashgot.jar!/locale/uk/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/uk/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Обробляти посилання у фоновому режимі">
 <!ENTITY flashgotShowLog "Показати журнал…">
 <!ENTITY flashgotClearLog "Очистити журнал">
-<!ENTITY flashgotAbout "Про FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Про FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Пропускати підтвердження">
 <!ENTITY flashgotGetRightQuick "Використовувати togetright.exe коли це можливо">
 <!ENTITY flashgotAutostart "Автоматично починати завантаження">
diff --git a/chrome/flashgot.jar!/locale/vi/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/vi/flashgot/flashgot.dtd
index 7010bf4..d1aaab3 100644
--- a/chrome/flashgot.jar!/locale/vi/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/vi/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "Xử lí các liên kết thuộc hậu cảnh">
 <!ENTITY flashgotShowLog "Hiện lưu kí…">
 <!ENTITY flashgotClearLog "Xóa lưu kí">
-<!ENTITY flashgotAbout "Thông tin về FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "Thông tin về FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "Bỏ qua Hộp thoại Xác nhận">
 <!ENTITY flashgotGetRightQuick "Sử dụng togetright.exe bất cứ khi nào có thể">
 <!ENTITY flashgotAutostart "Tự động khởi chạy các tập tin tải xuống">
diff --git a/chrome/flashgot.jar!/locale/zh-CN/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/zh-CN/flashgot/flashgot.dtd
index 00ec4f3..fab846d 100644
--- a/chrome/flashgot.jar!/locale/zh-CN/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/zh-CN/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "在后台处理链接">
 <!ENTITY flashgotShowLog "显示日志">
 <!ENTITY flashgotClearLog "清空日志">
-<!ENTITY flashgotAbout "关于 FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "关于 FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "忽略确认提示">
 <!ENTITY flashgotGetRightQuick "尽可能使用“togetrght.exe”">
 <!ENTITY flashgotAutostart "自动下载已监视的文件">
diff --git a/chrome/flashgot.jar!/locale/zh-TW/flashgot/flashgot.dtd b/chrome/flashgot.jar!/locale/zh-TW/flashgot/flashgot.dtd
index c6f713a..af511d9 100644
--- a/chrome/flashgot.jar!/locale/zh-TW/flashgot/flashgot.dtd
+++ b/chrome/flashgot.jar!/locale/zh-TW/flashgot/flashgot.dtd
@@ -35,7 +35,7 @@
 <!ENTITY flashgotBGProcessing "在背景處理鏈結">
 <!ENTITY flashgotShowLog "顯示日誌">
 <!ENTITY flashgotClearLog "清除日誌">
-<!ENTITY flashgotAbout "關於 FlashGot 1.5.6.12">
+<!ENTITY flashgotAbout "關於 FlashGot 1.5.6.13">
 <!ENTITY flashgotDMQuiet "略過確認提示">
 <!ENTITY flashgotGetRightQuick "儘可能使用 togetright.exe">
 <!ENTITY flashgotAutostart "自動下載受監視的檔案類型">
diff --git a/components/flashgotService.js b/components/flashgotService.js
index 3c5b8c8..d581edc 100644
--- a/components/flashgotService.js
+++ b/components/flashgotService.js
@@ -16,7 +16,7 @@
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-                             
+
 ***** END LICENSE BLOCK *****/
 
 const CI = Components.interfaces;
@@ -28,21 +28,25 @@ const NS_BINDING_ABORTED = 0x804b0002;
 const EXTENSION_ID = "{19503e42-ca3c-4c27-b1e2-9cdb2170ee34}";
 const EXTENSION_NAME = "FlashGot";
 const CHROME_NAME = "flashgot";
-const VERSION = "1.5.6.12";
+const VERSION = "1.5.6.13";
 const SERVICE_NAME = EXTENSION_NAME + " Service";
 const SERVICE_CTRID = "@maone.net/flashgot-service;1";
 const SERVICE_ID = "{2a55fc5c-7b31-4ee1-ab15-5ee2eb428cbe}";
-    
+
 // interfaces implemented by this component
-const SERVICE_IIDS = 
-[ 
+const SERVICE_IIDS =
+[
   CI.nsISupports,
   CI.nsISupportsWeakReference,
   CI.nsIObserver,
   CI.nsIURIContentListener,
   CI.nsIContentPolicy,
 ];
-
+["nsIMessageListener"].forEach(function(iface) {
+  if (iface in CI) {
+    SERVICE_IIDS.push(CI[iface])
+  }
+});
 // categories which this component is registered in
 const SERVICE_CATS = ["app-startup"];
 
@@ -72,7 +76,7 @@ const IO = {
     } catch(ex) {
       unicodeConverter.charset = "UTF-8";
     }
-    
+
     content = unicodeConverter.ConvertFromUnicode(content);
     const os = CC["@mozilla.org/network/file-output-stream;1"]
       .createInstance(CI.nsIFileOutputStream);
@@ -102,9 +106,9 @@ const INCLUDE = function(name) {
 function LAZY_INCLUDE(name) {
   if (arguments.length > 1)
     for (var j = 0, len = arguments.length; j < len; j++)
-      arguments.callee(arguments[j]);
+      LAZY_INCLUDE(arguments[j]);
   else {
-    __defineGetter__(name, function() {
+    this.__defineGetter__(name, function() {
       delete this[name];
       INCLUDE(name);
       return this[name];
@@ -125,14 +129,14 @@ var fg, singleton; // singleton
 
 const SERVICE_CREATE = function() {
   fg.wrappedJSObject = singleton = fg;
-  
+
   if ("nsIChromeRegistrySea" in CI) INCLUDE("SMUninstaller");
   fg.register();
   return fg;
 }
 
 fg = {
-  OP_ONE: 0, 
+  OP_ONE: 0,
   OP_SEL: 1,
   OP_ALL: 2,
   OP_QET: 3
@@ -142,6 +146,26 @@ fg = {
   get dom() {
     return DOM;
   },
+  get messageManager() {
+    try {
+      return CC["@mozilla.org/parentprocessmessagemanager;1"].getService(CI.nsIMessageListenerManager);
+    } catch (e) {
+      return null;
+    }
+  },
+  receiveMessage: function(m) {
+    switch(m.name) {
+      case "FlashGot::download":
+        try {
+          let links = m.data.links;
+          links.document = m.objects.document;
+          this.download(links);
+        } catch (e) {
+          this.log(e);
+        }
+      break;
+    }
+  },
   register: function() {
     const os = this.observerService;
     os.addObserver(this, SHUTDOWN, false);
@@ -150,6 +174,9 @@ fg = {
     os.addObserver(this, "private-browsing", false);
     os.addObserver(this, "browser:purge-session-history", false);
     os.addObserver(this, "last-pb-context-exited", false);
+
+    var mm = this.messageManager;
+    if (mm) mm.addWeakMessageListener("FlashGot::download", this);
   },
   unregister: function() {
     try {
@@ -161,6 +188,8 @@ fg = {
       os.removeObserver(this, "private-browsing");
       os.removeObserver(this, "browser:purge-session-history");
       os.removeObserver(this, "last-pb-context-exited");
+      var mm = this.messageManager;
+      if (mm) mm.removeWeakMessageListener("FlashGot::download", this);
     } catch(ex) {
       this.log("Error unregistering service as observer: " + ex);
     }
@@ -181,7 +210,7 @@ fg = {
         case "xpcom-shutdown":
           this.unregister();
           break;
-        case SHUTDOWN: 
+        case SHUTDOWN:
           this.cleanup();
           break;
         case STARTUP:
@@ -216,7 +245,7 @@ fg = {
       }
     }
   },
-  
+
   privatize: function(channel) {
     if (("nsIPrivateBrowsingChannel" in CI) && channel instanceof CI.nsIPrivateBrowsingChannel) {
       channel.setPrivate(true);
@@ -224,15 +253,15 @@ fg = {
       channel.loadFlags |= channel.INHIBIT_PERSISTENT_CACHING;
     }
   },
-  
+
   isPrivate: function(window) {
     var privacyContext = window && window.QueryInterface(CI.nsIInterfaceRequestor)
       .getInterface(CI.nsIWebNavigation);
-    return ((privacyContext instanceof CI.nsILoadContext) && "usePrivateBrowsing" in privacyContext) 
+    return ((privacyContext instanceof CI.nsILoadContext) && "usePrivateBrowsing" in privacyContext)
             ? privacyContext.usePrivateBrowsing
             : this.inPrivate;
   },
-  
+
   inPrivate: false,
   uninstalling: false
 ,
@@ -249,12 +278,12 @@ fg = {
              }
           }
         break;
-        
+
         case "autoStart":
         case "interceptAll":
           this.interceptor[name] = this.getPref(name);
         break;
-      
+
       }
     }
   }
@@ -269,7 +298,7 @@ fg = {
     }
   }
 ,
-  
+
   get defaultDM() {
     return this.getUPref("defaultDM", null);
   },
@@ -280,15 +309,15 @@ fg = {
   get isWindows() {
     return this._lazyPlatformCheck("isWin", "WinD");
   },
-  
+
   get isMac() {
     return this._lazyPlatformCheck("isMac", "UsrDsk");
   },
-  
+
   get isLinux() {
     return this._lazyPlatformCheck("isLinux", "XDGDesk");
   },
-  
+
   _lazyPlatformCheck: function(prop, folder) {
     delete this[prop];
     var is = false;
@@ -297,7 +326,7 @@ fg = {
     } catch(e) {}
     return this[prop] = is;
   },
-  
+
   get directoryService() {
     delete this.directoryService;
     return this.directoryService = CC["@mozilla.org/file/directory_service;1"]
@@ -309,22 +338,22 @@ fg = {
       CC["@mozilla.org/cookiemanager;1"].getService(CI.nsICookieManager2);
   }
 ,
-  
+
   get java() {
     var java;
-    
+
     try {
       java = this.prefs.getComplexValue("java", CI.nsILocalFile);
     } catch(e) {
-    
+
       if (this.isWindows) {
         java = this.directoryService.get("WinD", CI.nsIFile);
         java.append("System32");
         java.append("javaw.exe");
       } else {
-      
+
         java = CC["@mozilla.org/file/local;1"].createInstance(CI.nsILocalFile);
-        
+
         if (this.isMac) {
           java.initWithPath("/usr/bin/java");
         } else {
@@ -338,7 +367,7 @@ fg = {
         }
       }
     }
-    
+
     delete this.java;
     return this.java = java;
   }
@@ -376,7 +405,7 @@ fg = {
         document.getElementById(id).style.display = "none";
       } catch(e) {}
     }
-    (document._FlashGot_NativeUI_styleSheets || 
+    (document._FlashGot_NativeUI_styleSheets ||
       (document._FlashGot_NativeUI_styleSheets = [])
     ).push(s);
   },
@@ -396,11 +425,11 @@ fg = {
      }
      document._FlashGot_NativeUI_styleSheets = null;
   },
-  
+
   cursor: function(b) {
     DOM.updateStyleSheet('@-moz-document regexp("https?:.*") { body * { cursor: url(chrome://flashgot/skin/icon32.png), auto !important }}', b);
   },
-  
+
   _httpServer: null,
   get httpServer() {
     if (typeof(FlashGotHttpServer) != "function") {
@@ -415,9 +444,9 @@ fg = {
     return s.replace(/[\u0000-\u001f\/\\":<>|?*]/g, '_');
   },
   createDownloadFile: function(parentFile, fileSpec, overwrite) {
-    
+
     if (fileSpec instanceof CI.nsIURL) {
-     
+
       fileSpec = fileSpec.fileName || fileSpec.filePath.replace(/.*?([^\/]*)\/?$/, '$1') || fileSpec.query || fileSpec.host;
       try {
         fileSpec = decodeURIComponent(fileSpec);
@@ -427,14 +456,14 @@ fg = {
     } else if (fileSpec instanceof CI.nsIURI) {
       return null;
     }
-    
+
     if (!fileSpec) return null;
-    
+
     fileSpec = this.sanitizeFileName(fileSpec);
-    
+
     var file = parentFile.clone();
     file.append(fileSpec);
-            
+
     if (!overwrite || file.exists() && file.isDirectory()) {
       for (;;) {
         if(!file.exists()) {
@@ -447,7 +476,7 @@ fg = {
           break;
         } else { // rename
           var m = file.leafName.match(/(.*?)(?:\((\d+)\))?(\.[^\.]+$|$)/);
-          file.leafName = m[1] + "(" + ((m[2] && parseInt(m[2]) || 0) + 1) + ")" + m[3]; 
+          file.leafName = m[1] + "(" + ((m[2] && parseInt(m[2]) || 0) + 1) + ")" + m[3];
         }
       }
     }
@@ -461,76 +490,76 @@ fg = {
   }
 ,
   download: function(links, opType, dmName) {
-    
+
     switch (links.length) {
-      case 0: 
+      case 0:
         return false;
-      case 1: 
-        opType = this.OP_ONE; 
+      case 1:
+        opType = this.OP_ONE;
         break;
       default:
         if (!opType) opType = this.OP_SEL;
     }
-    
-    
+
+
     var win = links.document && links.document.defaultView ||
       DOM.mostRecentBrowserWindow;
     if (win && win.content) win = win.content;
-    
+
     var privacyContext = win && win.QueryInterface(CI.nsIInterfaceRequestor)
       .getInterface(CI.nsIWebNavigation);
     if ((privacyContext instanceof CI.nsILoadContext) && "usePrivateBrowsing" in privacyContext) {
       this.inPrivate = privacyContext.usePrivateBrowsing;
     }
     links.privacyContext = privacyContext || null;
-    
+
     if (!dmName) dmName = this.defaultDM;
     const dm = this.DMS[dmName] || this.DMS[this.getString("dm.builtIn")];
     if (!dm) {
       this.log("FlashGot error: no download manager selected!");
       return false;
     }
-    
+
     // surrogate missing attributes
-    
+
     if (!links.progress) {
       links.progress = { update: function() {} };
     } else {
       links.progress.update(12);
     }
-    
-  
-    this.delayExec(function(t) { fg._downloadDelayed(links, opType, dm); }); 
+
+
+    this.delayExec(function(t) { fg._downloadDelayed(links, opType, dm); });
     return true;
   },
-  
+
   _downloadDelayed: function(links, opType, dm) {
 
     const encodedURLs = this.getPref(dm.getPref("encode"), this.getPref("encode", true));
 
     const extFilter = this.getPref("extfilter", false) && !this.interceptor.interceptAll ?
         new RegExp("\.(" +
-          this.extensions.join("|").replace(/[^\w-|]/,"") + 
+          this.extensions.join("|").replace(/[^\w-|]/,"") +
           ")\\b", "i") : null;
-    
+
     var logMsg = "Processing " + links.length + " links ";
     if (this.logEnabled && typeof(links.startTime) == "number") {
       logMsg += "scanned in ms" + (Date.now() - links.startTime);
     }
-    
-    
+
+
 
     if (!links.startTime) links.startTime = Date.now();
     const pg = links.progress;
-    
+
     var len = links.length;
-    
+
     var filters = null;
-    
+
     if (len > 1) {
       filters = [];
-      
-      const isValid = dm.isValidLink; 
+
+      const isValid = dm.isValidLink;
       if (isValid)  filters.push(function(href) { return isValid(href) });
       if (extFilter) filters.push(function(href) { return extFilter.test(href) });
 
@@ -543,14 +572,14 @@ fg = {
         filters = null;
       }
     }
-    
-    
+
+
     const map = {};
     pg.update(10);
-    
+
     const stripHash = dm.getPref("stripHash", false);
     var cs = links.document && links.document.characterSet || null;
-    
+
     var j, l, href, ol, pos1, pos2;
     var postData;
     for (j = 0; j < len; j++) {
@@ -562,7 +591,7 @@ fg = {
       }
 
       href = l.href;
-      
+
       if (/^javascript:/i.test(href)) {
         try {
           l.href = href = href.match(/(['"])(https?:\/\/.*?)\1/)[2];
@@ -571,13 +600,13 @@ fg = {
         }
         if (!href) continue;
       }
-      
+
       if (filters && !filters.doFilter(href)) continue;
-      
+
       if (l.description) l.description = l.description.replace(/\s+/g, ' ');
       if (l.fname) l.fname = this.sanitizeFileName(l.fname);
       l._pos = j;
-      
+
       ol = map[href];
       if (ol) { // duplicate, keep the longest description
         if (ol.description.length < l.description.length) {
@@ -586,26 +615,26 @@ fg = {
         }
       } else {
         map[href] = l;
-        
+
         // encoding checks
         try {
-          if (encodedURLs) { 
+          if (encodedURLs) {
             href = IOS.newURI(href, cs, null).asciiSpec; // punycode + % encoding
             // workaround for malformed hash urls
-           
+
             while ((pos1 = href.indexOf("#")) > -1 // has fragment?
               && href[pos1 + 1] != "!" // skip metalinks!
-              && (href.indexOf("?") > pos1 || pos1 != href.lastIndexOf('#')) // fragment before query or double fragment ? 
+              && (href.indexOf("?") > pos1 || pos1 != href.lastIndexOf('#')) // fragment before query or double fragment ?
             ) {
               href = href.substring(0, pos1) + '%23' + href.substring(pos1 + 1);
             }
-            
+
             l.href = href;
-          } else {  
+          } else {
             l.href = decodeURI(href);
           }
           if (stripHash) l.href = l.href.replace(/#.*/g, '');
-          
+
         } catch(e) {
           dump("Problem "
             + ( encodedURLs ? "escaping" : "unescaping")
@@ -614,24 +643,24 @@ fg = {
       }
     }
     pg.update(25);
-    
+
     links.length = 0;
     for (href in map) links[links.length] = map[href];
-    
+
     if (this.getPref("noDesc", false) || dm.getPref("noDesc", false)) {
       for (j = links.length; j-- > 0;) links[j].description = '';
     } else if(dm.asciiFilter) {
       for (j = links.length; j-- > 0;) {
         l = links[j];
-        if(l.description) 
+        if(l.description)
           l.description = l.description.replace(/[^\u0020-\u007f]/g, "") || l.href;
       }
     }
-    
-    
+
+
     this._processRedirects(links, opType, dm);
   },
-  
+
   get RedirectContext() {
     delete this.RedirectContext;
     INCLUDE('RedirectContext');
@@ -639,28 +668,28 @@ fg = {
   },
   _processRedirects: function(links, opType, dm) {
     links.progress.update(30);
-    this.delayExec(function() {  
+    this.delayExec(function() {
       new fg.RedirectContext(links, opType, dm, function(processedBy) {
         links.redirProcessedBy = processedBy;
         fg._sendToDM(links, opType, dm);
       }).process();
     });
   },
-  
+
   _sendToDM: function(links, opType, dm) {
-    
+
     if (this.getPref("httpauth", false)) {
       dm.log("Adding authentication info");
       this._addAuthInfo(links);
     }
-    
+
     if (dm.metalinkSupport && this.getPref("metalink", true)) {
       dm.log("Adding metalink info");
       if (this._processMetalinks(links)) {
         opType = this.OP_SEL; // force "ask path"
       }
     }
-    
+
     if (links.length > 1) {
       dm.log("Sorting again "+links.length+" links");
       links.sort(function(a,b) {
@@ -669,29 +698,29 @@ fg = {
       });
       opType = this.OP_SEL;
     }
-    
+
     this._addQsSuffix(links);
-    
+
     links.progress.update(70);
-    
+
     dm.log("Preprocessing done in ms" + (Date.now() - links.startTime) );
-    
+
     // "true" download
     this.delayExec(function() {
         dm.log("Starting dispatch");
         var startTime = Date.now();
-    
+
         dm.download(links, opType);
 
         var now = Date.now();
         var logMsg = "Dispatch done in ms" + (now - startTime);
-        if (typeof(links.startTime) == "number") { 
+        if (typeof(links.startTime) == "number") {
           logMsg += "\nTotal processing time: ms" + (now - links.startTime);
-        }  
+        }
         dm.log(logMsg);
       });
   },
-  
+
   _addQsSuffix: function(links) {
     var suffix = this.getPref("queryStringSuffix");
     if (suffix) {
@@ -705,7 +734,7 @@ fg = {
       }
     }
   },
-  
+
   _addAuthInfo: function(links) {
     const httpAuthManager = CC['@mozilla.org/network/http-auth-manager;1']
                               .getService(CI.nsIHttpAuthManager);
@@ -723,7 +752,7 @@ fg = {
       try {
         httpAuthManager.getAuthIdentity(uri.scheme, uri.host, uri.port, null, null, uri.path, udom, uname, upwd);
       } catch(e) {
-        
+
         if (uri.scheme !== "ftp" || !uri.username)
           continue;
 
@@ -731,18 +760,18 @@ fg = {
           .getNewAuthPrompter(null).QueryInterface(CI.nsIAuthPrompt);
         var port = (uri.port < 0 || uri.port == 21 ? "" : ":" + uri.port);
         var realm = uri.scheme + "://" + uri.username + "@" + uri.host + port;
-        upwd.value = (realm in seen) ? seen[realm] : ''; 
-        if (!(upwd.value || 
+        upwd.value = (realm in seen) ? seen[realm] : '';
+        if (!(upwd.value ||
             prompter.promptPassword("Password", realm + " password", realm, prompter.SAVE_PASSWORD_NEVER, upwd))
           )
           continue;
-        
+
         uname.value = uri.username;
         seen[realm] = upwd.value;
       }
       l.userPass = encodeURIComponent(uname.value) + ":" + encodeURIComponent(upwd.value);
       fg.log("Authentication data " + l.userPass + " for " + l.href + " added.");
-      l.href = uri.scheme + "://" + l.userPass + "@" + 
+      l.href = uri.scheme + "://" + l.userPass + "@" +
                uri.host + (uri.port < 0 ? "" : (":" + uri.port)) + uri.spec.substring(uri.prePath.length);
     }
   },
@@ -756,7 +785,7 @@ fg = {
        if (pos < 0) continue;
        parts = href.substring(pos + 2).split("#!");
        if (parts[0].indexOf("metalink3!") == 0) continue; // per Ant request
-       
+
        hasMetalinks = true;
        l.metalinks = [];
        for (k = 0; k < parts.length; k++) {
@@ -782,14 +811,14 @@ fg = {
   _timers: [],
   delayExec: function(callback, delay) {
     var timer = CC["@mozilla.org/timer;1"].createInstance(CI.nsITimer);
-    timer.initWithCallback({ 
+    timer.initWithCallback({
         notify: this.delayedRunner,
         context: { callback: callback, args: Array.prototype.slice.call(arguments, 2), self: this }
       }, delay || 1, 0);
     this._timers.push(timer);
   },
-  
-  
+
+
   delayedRunner: function(timer) {
     var ctx = this.context;
     try {
@@ -827,7 +856,7 @@ fg = {
     }
   }
 ,
-  
+
   get prefService() {
     delete this.prefService;
     return this.prefService = CC["@mozilla.org/preferences-service;1"]
@@ -956,12 +985,12 @@ fg = {
       }
     };
   },
-  
+
   logFlush: function() {
     this.logStream._handOver();
     this.logFlush();
   },
-  
+
   logStream: { // we buffer in ram until we reach 16KB or we get flushed, in order to reduce startup footprint
     _buf: "",
     writeString: function(msg) {
@@ -980,7 +1009,7 @@ fg = {
       fg.logStream.writeString(this._buf);
     }
   },
-  
+
   log: function(msg) {
     if (this.logEnabled) {
       try {
@@ -1015,7 +1044,7 @@ fg = {
       if (this.logFile) this.logFile.remove(true);
       this.logInit();
     } catch(ex) { dump(ex.message); }
-  } 
+  }
 ,
   get windowMediator() {
     return CC["@mozilla.org/appshell/window-mediator;1"
@@ -1028,7 +1057,7 @@ fg = {
 ,
   getBrowserWindow: function(document) {
     var w = document && document.defaultView && DOM.getChromeWindow(document.defaultView.top) || DOM.mostRecentBrowserWindow;
-    return w.wrappedJSObject || w; 
+    return w.wrappedJSObject || w;
   }
 ,
   get prefs() {
@@ -1042,50 +1071,50 @@ fg = {
     this.hasDMS = true;
     return this.DMS = this.checkDownloadManagers(true, false);
   },
-  
+
   get tmpDir() {
-    
+
     function prepareTmp(t, create) {
       if (!(create || t.exists())) throw "Temporary dir " + t.path + " doesn't exist.";
-      
+
       t.append("flashgot." + encodeURI(fg.profDir.leafName).replace(/%/g,"_"));
       if (t.exists()) {
        if (!(t.isDirectory() && t.isWritable())) t.createUnique(1, B8('700'));
       } else {
         t.create(1, B8('700'));
-      } 
+      }
       return t;
     }
-    
+
     delete this.tmpDir;
     try {
       return this.tmpDir = prepareTmp(this.prefs.getComplexValue("tmpDir", CI.nsILocalFile), false);
     } catch (e) {}
-    
+
     return this.tmpDir = prepareTmp(this.directoryService.get("TmpD", CI.nsILocalFile), true);
-   
+
   },
   get profDir() {
     delete this.profDir;
     return this.profDir = this.directoryService.get("ProfD", CI.nsIFile);
   },
-  
+
   _initialized: false,
   init: function() {
     if (this._initialized) return;
 
     if (this.smUninstaller) this.smUninstaller.check();
-  
+
     const os = this.observerService;
-    
+
     os.addObserver(this, "em-action-requested", false);
-    
+
     try {
       const startTime = Date.now();
-       
+
       this.prefs.addObserver("", this, false);
       this.syncPrefs();
-      
+
       this.log("Per-session init started");
 
       this.interceptor = new HttpInterceptor();
@@ -1097,13 +1126,13 @@ fg = {
           .addProgressListener(MediaSniffer, CI.nsIWebProgress.NOTIFY_STATE_NETWORK | CI.nsIWebProgress.NOTIFY_LOCATION);
       }
       this.interceptor.setup();
-    
+
       this.log("Per-session init done in " + (Date.now() - startTime) + "ms");
     } catch(initEx) {
       this._initException = initEx;
       try { this.log(initEx); } catch(e) {}
     }
-    this._initialized = true; 
+    this._initialized = true;
   },
 
   dispose: function() {
@@ -1118,7 +1147,7 @@ fg = {
       CC['@mozilla.org/docloaderservice;1'].getService(CI.nsIWebProgress)
         .removeProgressListener(MediaSniffer);
     } catch(e) {}
-    
+
     this._initialized = false;
   }
 ,
@@ -1146,30 +1175,30 @@ fg = {
   }
 ,
   sortDMS: function() {
-    FlashGotDM.dms.sort(function(a,b) { 
-      a = a.priority || a.name.toLowerCase(); 
+    FlashGotDM.dms.sort(function(a,b) {
+      a = a.priority || a.name.toLowerCase();
       b = b.priority || b.name.toLowerCase();
-      return a > b ? 1 : a < b ?-1 : 0; 
+      return a > b ? 1 : a < b ?-1 : 0;
     });
   }
-, 
+,
   checkDownloadManagers: function(init, detect) {
     INCLUDE("DMS");
-    
+
     var t = Date.now();
-    
+
     if (init || detect) FlashGotDM.init(this);
-    
+
     const dms = FlashGotDM.dms;
     dms.found = false;
     var defaultDM = this.defaultDM;
     if (!dms[defaultDM]) defaultDM = null;
-    
+
     detect = detect || this.getPref("detect.auto", true);
- 
+
     var j, dm;
     var cache = this.getUPref('detect.cache', '').split(',');
-    
+
     var cacheLen = cache.length;
     if (!detect) {
       for (j = dms.length; j-- > 0;) {
@@ -1184,7 +1213,7 @@ fg = {
         }
       }
     }
-    
+
     cache = [];
 
     var firstSupported = null;
@@ -1201,13 +1230,13 @@ fg = {
         }
       }
     }
-    
+
     this.setUPref("detect.cache", cache.map(function(dm) { return dm.name; }).join(","));
-    
+
     if (cacheLen > 0 && cache.length > cacheLen && defaultDM && !dms[defaultDM].autoselect) { // new DM added
       defaultDM = null;
     }
-    
+
     if (!defaultDM && firstSupported) {
       while (!firstSupported.autoselect && cache.length) {
         firstSupported = cache.pop();
@@ -1217,9 +1246,9 @@ fg = {
     } else if(!dms.found) {
       this.log("Serious warning! no supported download manager found...");
     }
-    
+
     this.log("Download managers detection done in " + (Date.now() - t) + "ms");
-    
+
     return dms;
   }
 ,
@@ -1239,19 +1268,19 @@ fg = {
       dump("Error shredding temp files: " + e + "\n");
     }
   },
-  
+
   doomPrivateFile: function(f) {
     if (this.inPrivate || this.getPref("shredding"))
       this.delayExec(function() { fg.shredFiles(f); }, 5000);
   },
-  
+
   shredFiles: function(files) {
     INCLUDE("Shredder");
     if (!("push" in files)) files = [files];
     Shredder.shred(files);
   },
-  
-  
+
+
   cleanup: function() {
     if (this._cleaningup) return;
     try {
@@ -1260,18 +1289,18 @@ fg = {
       if (this._httpServer) {
         this._httpServer.shutdown();
       }
-      
+
       try {
         if (typeof FlashGotDM === "object") FlashGotDM.cleanup(this.uninstalling);
       } catch(eexx) {
         dump(eexx.message);
       }
-      
+
       if (this.tmpDir && this.tmpDir.exists()) {
         try {
           if ((this.inPrivate || this.getPref("shredding")))
           {
-            this._shredTempFiles(); 
+            this._shredTempFiles();
           } else {
             this.tmpDir.remove(true);
           }
@@ -1309,7 +1338,7 @@ fg = {
           var logStart=-1;
           while ((buffer = sis.read(5000))) {
             content += buffer;
-            if ((logStart=content.indexOf("\n*** Log start at ")) > -1) { 
+            if ((logStart=content.indexOf("\n*** Log start at ")) > -1) {
               content=content.substring(logStart);
               break;
             }
@@ -1322,7 +1351,7 @@ fg = {
             os.write(content,content.length);
             while ((buffer = sis.read(20000))) {
               os.write(buffer,buffer.length);
-            } 
+            }
             os.close();
           }
           sis.close();
@@ -1337,7 +1366,7 @@ fg = {
     this._cleaningup = false;
     this.dispose();
   }
-,  
+,
   logHex: function(s) {
     var cc = [];
     for(var j = 0, len = s.length; j < len; j++) {
@@ -1349,7 +1378,7 @@ fg = {
   showDMSReference: function() {
     this.getWindow().open("https://flashgot.net/dms","_blank");
   },
-  
+
   getMedia: function(w) {
     return "_flashgotMedia" in w ? w._flashgotMedia : null;
   }
@@ -1366,9 +1395,9 @@ fg = {
   versionChecked: false,
   checkVersion: function() {
     if (this.versionChecked) return;
-    
+
     this.versionChecked = true;
-    
+
     const ver =  this.VERSION;
     const prevVer = this.getPref("version", "");
     if ((this.firstRun = prevVer !== ver)) {
@@ -1379,7 +1408,7 @@ fg = {
       this.setPref("version", ver);
       this.savePrefs();
     }
-    
+
     const betaRx = /(?:a|alpha|b|beta|pre|rc)\d*$/; // see http://viewvc.svn.mozilla.org/vc/addons/trunk/site/app/config/constants.php?view=markup#l431
     if (prevVer.replace(betaRx, "") != ver.replace(betaRx, "")) {
 
@@ -1391,8 +1420,8 @@ fg = {
           onStopRequest: function() {
             var browser = DOM.mostRecentBrowserWindow.getBrowser();
             if (typeof(browser.addTab) != "function") return;
-           
-            
+
+
             var url = "https://" + domain + "/?ver=" + ver;
             var hh = "X-IA-Post-Install: " + name + " " + ver;
             if (prevVer) {
@@ -1400,15 +1429,15 @@ fg = {
               hh += "; updatedFrom=" + prevVer;
             }
             hh += "\r\n";
-            
+
             var hs = CC["@mozilla.org/io/string-input-stream;1"] .createInstance(CI.nsIStringInputStream);
-            hs.setData(hh, hh.length); 
-            
-            
+            hs.setData(hh, hh.length);
+
+
             var b = (browser.selectedTab = browser.addTab()).linkedBrowser;
             b.stop();
             b.webNavigation.loadURI(url, CI.nsIWebNavigation.LOAD_FLAGS_NONE, null, null, hs);
-            
+
           },
           onDataAvailable: function() {}
         }, {});
@@ -1419,5 +1448,5 @@ fg = {
 
 fg.__global__ = this;
 fg._e = function(f) {
-  return eval("(" + f + ")()"); 
-}
\ No newline at end of file
+  return eval("(" + f + ")()");
+}
diff --git a/install.js b/install.js
index 857d215..9acb3b5 100644
--- a/install.js
+++ b/install.js
@@ -1,7 +1,7 @@
 const APP_DISPLAY_NAME = "FlashGot";
 const APP_NAME = "flashgot";
 const APP_PACKAGE = "/informaction/flashgot";
-const APP_VERSION = "1.5.6.12";
+const APP_VERSION = "1.5.6.13";
 
 const APP_PREFS_FILE="defaults/preferences/flashgot.js";
 const APP_XPCOM_SERVICE="components/flashgotService.js";
diff --git a/install.rdf b/install.rdf
index a8124c5..b946f4d 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
  
    <em:id>{19503e42-ca3c-4c27-b1e2-9cdb2170ee34}</em:id>
    <em:name>FlashGot</em:name>
-   <em:version>1.5.6.12</em:version>
+   <em:version>1.5.6.13</em:version>
    <em:description>Enables Firefox, Mozilla Suite, Netscape and Thunderbird to handle single and massive ("all" and "selection") downloads using the most popular external download managers for Windows, Mac OS X, Linux and FreeBSD (dozens currently supported, see Extension's Home Page for details). FlashGot offers also a Build Gallery functionality which helps to synthetize full media galleries in one page, from serial contents originally scattered on several pages, fo [...]
    <em:creator>Giorgio Maone</em:creator>
    <em:type>2</em:type>
@@ -86,7 +86,7 @@
      <Description>
      <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
      <em:minVersion>2.0</em:minVersion>
-     <em:maxVersion>40.0</em:maxVersion>
+     <em:maxVersion>48.0</em:maxVersion>
      </Description>
    </em:targetApplication>
    
@@ -113,7 +113,7 @@
       <Description>
         <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
         <em:minVersion>2.0</em:minVersion>
-        <em:maxVersion>40.0</em:maxVersion>
+        <em:maxVersion>48.0</em:maxVersion>
       </Description>
     </em:targetApplication>
    

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/flashgot.git



More information about the Pkg-mozext-commits mailing list