public function __construct($url, $sourceHash)
 {
     $this->url = $url;
     $this->uptodate = -1;
     if ($sourceHash !== false) {
         $hash = readExternalFile($url . '?hash');
         if ($hash === $sourceHash) {
             $this->uptodate = 1;
         } elseif ($hash !== false) {
             $this->uptodate = 0;
         }
     }
 }
                $totals['savers'] += 1;
            }
        }
    }
}
// ignore maximum saved diff when it's surpassed by the maximum unsaved diff
foreach ($statkeys as $key) {
    if ($highest[$key . 'Diff'] > $highest[$key . 'SavedDiff']) {
        $highest[$key . 'SavedDiff'] = 0;
    }
}
// now we're going to check whether or not the mirrors are up to date
$ownVersion = filemtime(__FILE__);
$mirrors = array();
$mirrorValidate = true;
$sourceStr = readExternalFile($sourceUrl);
$sourceHash = sha1Newline($sourceStr);
// if somehow github is down; don't bother validating
if ($sourceStr === false) {
    $mirrorValidate = false;
}
foreach ($scriptUrls as $url) {
    $mirrors[] = new Mirror($url, $sourceHash);
}
shuffle($mirrors);
// Because all mirrors are created equal.
# --------------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------------------
# We now have all the information we need :)
#