From 03e0580b202fc0a77f442f284dd5470cddbbd5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20R=C3=B6bert?= Date: Mon, 1 Apr 2019 23:53:28 +0200 Subject: [PATCH] Chrome support --- ChromeVersion/clearurls.js | 892 ------------------ ChromeVersion/css/core.css | 20 - ChromeVersion/manifest.json | 52 +- browser-polyfill.js | 25 +- clearurls.js | 2 +- core_js/message_handler.js | 2 +- core_js/popup.js | 71 +- core_js/storage.js | 49 +- core_js/tools.js | 13 +- css/core.css | 4 + manifest.json | 10 +- promotion/screens/Popup_1.5.2.png | Bin 0 -> 45203 bytes .../screens/Popup_1.5.2_chrome_store.png | Bin 0 -> 65595 bytes 13 files changed, 143 insertions(+), 997 deletions(-) delete mode 100644 ChromeVersion/clearurls.js delete mode 100644 ChromeVersion/css/core.css create mode 100644 promotion/screens/Popup_1.5.2.png create mode 100644 promotion/screens/Popup_1.5.2_chrome_store.png diff --git a/ChromeVersion/clearurls.js b/ChromeVersion/clearurls.js deleted file mode 100644 index 96f42d9..0000000 --- a/ChromeVersion/clearurls.js +++ /dev/null @@ -1,892 +0,0 @@ -/* -* ################################################################## -* # Fetch Rules & Exception from URL # -* ################################################################## -*/ -var providers = []; -var prvKeys = []; -var badges = []; -var tabid = 0; -var siteBlockedAlert = 'javascript:void(0)'; -var dataHash; -var localDataHash; -var os; -var currentURL; - -var storage = []; - -getDataFromDisk(); - -function start(items) -{ - initStorage(items); - - /** - * Save OS Version - */ - chrome.runtime.getPlatformInfo(function(info) { - - os = info.os; - - - /** - * Initialize the JSON provider object keys. - * - * @param {JSON Object} obj - */ - function getKeys(obj){ - for(var key in obj){ - prvKeys.push(key); - } - } - - /** - * Initialize the providers form the JSON object. - * - */ - function createProviders() - { - data = storage.ClearURLsData; - - for(var p = 0; p < prvKeys.length; p++) - { - //Create new provider - providers.push(new Provider(prvKeys[p],data.providers[prvKeys[p]].completeProvider)); - - //Add URL Pattern - providers[p].setURLPattern(data.providers[prvKeys[p]].urlPattern); - - //Add rules to provider - for(var r = 0; r < data.providers[prvKeys[p]].rules.length; r++) - { - providers[p].addRule(data.providers[prvKeys[p]].rules[r]); - } - - //Add exceptions to provider - for(var e = 0; e < data.providers[prvKeys[p]].exceptions.length; e++) - { - providers[p].addException(data.providers[prvKeys[p]].exceptions[e]); - } - - //Add redirections to provider - for(var re = 0; re < data.providers[prvKeys[p]].redirections.length; re++) - { - providers[p].addRedirection(data.providers[prvKeys[p]].redirections[re]); - } - } - } - - /** - * Convert the external data to Objects and - * call the create provider function. - * - * @param {String} retrievedText - pure data form github - */ - function toObject(retrievedText) { - getKeys(storage.ClearURLsData.providers); - createProviders(); - } - - /** - * Load local saved data, if the browser is offline or - * some other network trouble. - */ - function loadOldDataFromStore() - { - localDataHash = storage.dataHash; - } - - /** - * Save the hash status to the local storage. - * The status can have the following values: - * 1 "up to date" - * 2 "updated" - * 3 "update available" - * @param status_code the number for the status - */ - function storeHashStatus(status_code) - { - switch(status_code) - { - case 1: status_code = "hash_status_code_1"; - break; - case 2: status_code = "hash_status_code_2"; - break; - case 3: status_code = "hash_status_code_3"; - break; - default: status_code = "hash_status_code_4"; - } - - storage.hashStatus = status_code; - } - - /** - * Get the hash for the rule file on github. - * Check the hash with the hash form the local file. - * If the hash has changed, then download the new rule file. - * Else do nothing. - */ - function getHash() - { - //Get the target hash from github - fetch(storage.hashURL) - .then(function(response){ - var responseTextHash = response.clone().text().then(function(responseTextHash){ - if(response.ok) - { - dataHash = responseTextHash; - - if($.trim(dataHash) !== $.trim(localDataHash)) - { - fetchFromURL(); - } - else { - toObject(storage.ClearURLsData); - storeHashStatus(1); - } - } - else { - dataHash = false; - } - }); - }); - } - - /** - * Fetch the Rules & Exception from github. - */ - function fetchFromURL() - { - fetch(storage.ruleURL) - .then(checkResponse); - - function checkResponse(response) - { - var responseText = response.clone().text().then(function(responseText){ - if(response.ok) - { - var downloadedFileHash = $.sha256(responseText); - - if($.trim(downloadedFileHash) === $.trim(dataHash)) - { - storage.ClearURLsData = responseText; - storage.dataHash = downloadedFileHash; - storeHashStatus(2); - } - else { - storeHashStatus(3); - } - storage.ClearURLsData = JSON.parse(storage.ClearURLsData); - toObject(storage.ClearURLsData); - } - }); - } - } - - // ################################################################## - - /* - * ################################################################## - * # Supertyp Provider # - * ################################################################## - */ - /** - * Declare constructor - * - * @param {String} _name Provider name - * @param {boolean} completeProvider Set URL Pattern as rule - */ - function Provider(_name,_completeProvider = false){ - var name = _name; - var urlPattern; - var rules = []; - var exceptions = []; - var canceling = _completeProvider; - var redirections = []; - - if(_completeProvider){ - rules.push(".*"); - } - - /** - * Returns the provider name. - * @return {String} - */ - this.getName = function() { - return name; - }; - - /** - * Add URL pattern. - * - * @require urlPatterns as RegExp - */ - this.setURLPattern = function(urlPatterns) { - urlPattern = new RegExp(urlPatterns, "i"); - }; - - /** - * Return if the Provider Request is canceled - * @return {Boolean} isCanceled - */ - this.isCaneling = function() { - return canceling; - }; - - /** - * Check the url is matching the ProviderURL. - * - * @return {boolean} ProviderURL as RegExp - */ - this.matchURL = function(url) { - return !(this.matchException(url)) && urlPattern.test(url); - }; - - /** - * Add a rule to the rule array. - * - * @param String rule RegExp as string - */ - this.addRule = function(rule) { - rules.push(rule); - }; - - /** - * Return all rules as an array. - * - * @return Array RegExp strings - */ - this.getRules = function() { - return rules; - }; - - /** - * Add a exception to the exceptions array. - * - * @param String exception RegExp as string - */ - this.addException = function(exception) { - exceptions.push(exception); - }; - - /** - * Private helper method to check if the url - * an exception. - * - * @param {String} url RegExp as string - * @return {boolean} if matching? true: false - */ - this.matchException = function(url) { - var result = false; - - //Add the site blocked alert to every exception - if(url == siteBlockedAlert) return true; - - for (var i = 0; i < exceptions.length; i++) { - if(result) { break; } - - exception_regex = new RegExp(exceptions[i], "i"); - result = exception_regex.test(url); - } - - return result; - }; - - /** - * Add a redirection to the redirections array. - * - * @param String redirection RegExp as string - */ - this.addRedirection = function(redirection) { - redirections.push(redirection); - }; - - /** - * Return all redirection. - * - * @return url - */ - this.getRedirection = function(url) { - var re = null; - - for(var i = 0; i < redirections.length; i++) - { - result = (url.match(new RegExp(redirections[i], "i"))); - - if (result && result.length > 0) - { - re = (new RegExp(redirections[i], "i")).exec(url)[1]; - - break; - } - } - - return re; - }; - } - // ################################################################## - - /** - * Helper function which remove the tracking fields - * for each provider given as parameter. - * - * @param {Provider} provider Provider-Object - * @param {webRequest} request webRequest-Object - * @return {Array} Array with changes and url fields - */ - function removeFieldsFormURL(provider, request) - { - var url = request.url; - var domain = url.replace(new RegExp("\\?.*", "i"), ""); - var fields = ""; - var rules = provider.getRules(); - var changes = false; - var cancel = false; - - /* - * Expand the url by provider redirections. So no tracking on - * url redirections form sites to sites. - */ - var re = provider.getRedirection(url); - if(re !== null) - { - url = decodeURIComponent(re); - //Log the action - pushToLog(request.url, re, translate('log_redirect')); - - return { - "redirect": true, - "url": url - }; - } - - /** - * Only test for matches, if there are fields that can be cleaned. - */ - if(existsFields(url)) - { - /** - * It must be non-greedy, because by default .* will match - * all ? chars. So the replace function delete everything - * before the last ?. With adding a ? on the quantifier *, - * we fixed this problem. - */ - fields = url.replace(new RegExp(".*?\\?", "i"), ""); - - for (var i = 0; i < rules.length; i++) { - var beforReplace = fields; - - fields = fields.replace(new RegExp(rules[i], "i"), ""); - - if(beforReplace != fields) - { - //Log the action - pushToLog(domain+"?"+beforReplace, domain+"?"+fields, rules[i]); - - if(badges[tabid] == null) - { - badges[tabid] = 0; - } - - increaseURLCounter(); - - if(!checkOSAndroid()) - { - if(storage.badgedStatus) { - browser.browserAction.setBadgeText({text: (++badges[tabid]).toString(), tabId: tabid}); - } - else - { - browser.browserAction.setBadgeText({text: "", tabId: tabid}); - } - } - - changes = true; - } - } - url = domain+"?"+fields; - } - else { - if(domain != url) - { - url = domain; - changes = true; - } - } - - if(provider.isCaneling()){ - pushToLog(request.url, request.url, translate('log_domain_blocked')); - if(badges[tabid] == null) - { - badges[tabid] = 0; - } - - increaseURLCounter(); - - if(!checkOSAndroid()) - { - if(storage.badgedStatus) { - browser.browserAction.setBadgeText({text: (++badges[tabid]).toString(), tabId: tabid}); - } - else - { - browser.browserAction.setBadgeText({text: "", tabId: tabid}); - } - } - - cancel = true; - } - - return { - "changes": changes, - "url": url, - "cancel": cancel - }; - } - - /** - * Return the number of parameters query strings. - * @param {String} url URL as String - * @return {int} Number of Parameters - */ - function countFields(url) - { - var matches = (url.match(/[^\/|\?|&]+=[^\/|\?|&]+/gi) || []); - var count = matches.length; - - return count; - } - - /** - * Returns true if fields exists. - * @param {String} url URL as String - * @return {boolean} - */ - function existsFields(url) - { - var matches = (url.match(/\?.+/i) || []); - var count = matches.length; - - return (count > 0); - } - - /** - * Function which called from the webRequest to - * remove the tracking fields from the url. - * - * @param {webRequest} request webRequest-Object - * @return {Array} redirectUrl or none - */ - function clearUrl(request) - { - var URLbeforeReplaceCount = countFields(request.url); - - //Add Fields form Request to global url counter - increaseGlobalURLCounter(URLbeforeReplaceCount); - - if(storage.globalStatus){ - - var result = { - "changes": false, - "url": "", - "redirect": false, - "cancel": false - }; - - /* - * Call for every provider the removeFieldsFormURL method. - */ - for (var i = 0; i < providers.length; i++) { - - if(providers[i].matchURL(request.url)) - { - result = removeFieldsFormURL(providers[i], request); - } - - /* - * Expand urls and bypass tracking. - * Cancel the active request. - */ - if(result.redirect) - { - browser.tabs.update(request.tabId, {url: result.url}); - return {cancel: true}; - } - - /* - * Cancel the Request and redirect to the site blocked alert page, - * to inform the user about the full url blocking. - */ - if(result.cancel){ - return { - redirectUrl: siteBlockedAlert - }; - } - - /* - * Ensure that the function go not into - * a loop. - */ - if(result.changes){ - return { - redirectUrl: result.url - }; - } - } - } - - // Default case - return {}; - } - - /** - * Function to log all activities from ClearUrls. - * Only logging when activated. - * The log is only temporary saved in the cache and will - * permanently saved with the saveLogOnClose function. - * - * @param beforeProcessing the url before the clear process - * @param afterProcessing the url after the clear process - * @param rule the rule that triggered the process - */ - function pushToLog(beforeProcessing, afterProcessing, rule) - { - if(storage.loggingStatus) - { - storage.log.log.push( - { - "before": beforeProcessing, - "after": afterProcessing, - "rule": rule, - "timestamp": Date.now() - } - ); - } - } - - /** - * Call loadOldDataFromStore, getHash, counter, status and log functions - */ - - loadOldDataFromStore(); - getHash(); - setBadgedStatus(); - - /** - * Call by each tab is updated. - * And if url has changed. - */ - function handleUpdated(tabId, changeInfo, tabInfo) { - if(changeInfo.url) - { - delete badges[tabId]; - } - currentURL = tabInfo.url; - } - - /** - * Call by each tab is updated. - */ - browser.tabs.onUpdated.addListener(handleUpdated); - - /** - * Call by each tab change to set the actual tab id - */ - function handleActivated(activeInfo) { - tabid = activeInfo.tabId; - browser.tabs.get(tabid).then(function (tab) { - currentURL = tab.url; - }); - } - - /** - * Call by each tab change. - */ - browser.tabs.onActivated.addListener(handleActivated); - - /** - * Check the request. - */ - function promise(requestDetails) - { - if(isDataURL(requestDetails)) - { - return {}; - } - else { - var ret = clearUrl(requestDetails); - return ret; - } - - } - - /** - * To prevent long loading on data urls - * we will check here for data urls. - * - * @type {requestDetails} - * @return {boolean} - */ - function isDataURL(requestDetails) { - var s = requestDetails.url; - - return s.substring(0,4) == "data"; - } - - /** - * Call by each Request and checking the url. - * - * @type {Array} - */ - browser.webRequest.onBeforeRequest.addListener( - promise, - {urls: [""], types: getData("types")}, - ["blocking"] - ); - }); -} - -/** -* Save every minute the temporary data to the disk. -*/ -setInterval(saveOnExit, 60000); - -/** -* Get the badged status from the browser storage and put the value -* into a local variable. -* -*/ -function setBadgedStatus() -{ - if(!checkOSAndroid() && storage.badgedStatus){ - browser.browserAction.setBadgeBackgroundColor({ - 'color': '#'+storage.badged_color - }); - } -} - -/** -* Change the icon. -*/ -function changeIcon() -{ - if(storage.globalStatus){ - browser.browserAction.setIcon({path: "img/clearurls.svg"}); - } else{ - browser.browserAction.setIcon({path: "img/clearurls_gray.svg"}); - } -} - -/** -* Check if it is an android device. -* @return bool -*/ -function checkOSAndroid() -{ - if(os == "android") - { - return true; - } - else{ - return false; - } -} - -/** -* Increase by {number} the GlobalURLCounter -* @param {int} number -*/ -function increaseGlobalURLCounter(number) -{ - if(storage.statisticsStatus) - { - storage.globalurlcounter += number; - } -} - -/** -* Increase by one the URLCounter -*/ -function increaseURLCounter() -{ - if(storage.statisticsStatus) - { - storage.globalCounter++; - } -} - - -/** -* Writes the storage variable to the disk. -*/ -function saveOnExit() -{ - var json = {}; - - Object.entries(storage).forEach(([key, value]) => { - switch (key) { - case "ClearURLsData": - case "log": - json[key] = JSON.stringify(value); - break; - case "types": - json[key] = value.toString(); - break; - default: - json[key] = value; - } - }); - console.log(translate('core_save_on_disk')); - browser.storage.local.set(json); -} - -/** -* Save the value under the key on the disk. -* @param {String} key -* @param {Object} value -*/ -function saveOnDisk(key, value) -{ - browser.storage.local.set({key: value}); -} - -/** -* Retrieve everything and save on the RAM. -*/ -function getDataFromDisk() -{ - browser.storage.local.get().then(start, error); -} - -/** -* Get the value under the key. -* @param {String} key -* @return {Object} -*/ -function getData(key) -{ - return storage[key]; -} - -/** -* Save the value under the key on the RAM. -* @param {String} key -* @param {Object} value -*/ -function setData(key, value) -{ - switch (key) { - case "ClearURLsData": - case "log": - storage[key] = JSON.parse(value); - break; - case "hashURL": - case "ruleURL": - storage[key] = replaceOldURLs(value); - break; - case "types": - storage[key] = value.split(','); - break; - default: - storage[key] = value; - } -} - -/** -* Translate a string with the i18n API. -* -* @param {string} string Name of the attribute used for localization -*/ -function translate(string) -{ - return browser.i18n.getMessage(string); -} - - -/** -* Write error on console. -*/ -function error() -{ - console.log(translate('core_error')); -} - -/** -* Set default values, if the storage is empty. -* @param {Object} items -*/ -function initStorage(items) -{ - initSettings(); - - if(!isEmpty(items)) { - Object.entries(items).forEach(([key, value]) => { - setData(key, value); - }); - } -} - -/** -* Set default values for the settings. -*/ -function initSettings() -{ - storage.ClearURLsData = []; - storage.dataHash = ""; - storage.badgedStatus = true; - storage.globalStatus = true; - storage.globalurlcounter = 0; - storage.globalCounter = 0; - storage.hashStatus = "error"; - storage.loggingStatus = false; - storage.log = {"log": []}; - storage.statisticsStatus = true; - storage.badged_color = "ffa500"; - storage.hashURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash"; - storage.ruleURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json"; - storage.types = ["main_frame", "sub_frame", "xmlhttprequest"]; - storage.reportServer = "https://clearurls.xn--rb-fka.it"; -} - -/** -* Reloads the extension. -*/ -function reload() -{ - browser.runtime.reload(); -} - -/** -* Replace the old GitHub URLs with the -* new GitLab URLs. -*/ -function replaceOldURLs(url) -{ - switch (url) { - case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/rules.hash?flush_cache=true": - return "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash"; - case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/data.json?flush_cache=true": - return "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json"; - default: - return url; - } -} - -/** -* Check if an object is empty. -* @param {Object} obj -* @return {Boolean} -*/ -function isEmpty(obj) -{ - return (Object.getOwnPropertyNames(obj).length === 0); -} - -/** - * Returns the current URL. - * @return {String} [description] - */ -function getCurrentURL() -{ - return currentURL; -} diff --git a/ChromeVersion/css/core.css b/ChromeVersion/css/core.css deleted file mode 100644 index b15cf2c..0000000 --- a/ChromeVersion/css/core.css +++ /dev/null @@ -1,20 +0,0 @@ -body { - font-size: 13px; -} - -.small-version { - font-size: 10px; -} - -.navbar-header { - margin-top: 0; - margin-bottom: 8px; -} - -.col-sm-1 { - margin-top: -10px; -} - -#body-popup { - width: 200px; -} diff --git a/ChromeVersion/manifest.json b/ChromeVersion/manifest.json index 7490d3d..d6a1077 100644 --- a/ChromeVersion/manifest.json +++ b/ChromeVersion/manifest.json @@ -1,39 +1,39 @@ { "manifest_version": 2, "name": "ClearURLs", - "version": "1.3.3.14", + "version": "1.5.2", "author": "Kevin R.", "description": "Remove tracking elements form URLs.", "homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls", "default_locale": "en", "icons": { - "16": "img/clearurls.png", - "19": "img/clearurls.png", - "20": "img/clearurls.png", - "24": "img/clearurls.png", - "30": "img/clearurls.png", - "32": "img/clearurls.png", - "38": "img/clearurls.png", - "48": "img/clearurls.png", - "64": "img/clearurls.png", - "96": "img/clearurls.png", - "128": "img/clearurls.png" + "16": "img/clearurls.svg", + "19": "img/clearurls.svg", + "20": "img/clearurls.svg", + "24": "img/clearurls.svg", + "30": "img/clearurls.svg", + "32": "img/clearurls.svg", + "38": "img/clearurls.svg", + "48": "img/clearurls.svg", + "64": "img/clearurls.svg", + "96": "img/clearurls.svg", + "128": "img/clearurls.svg" }, "browser_action": { "browser_style": true, "default_icon": { - "16": "img/clearurls.png", - "19": "img/clearurls.png", - "20": "img/clearurls.png", - "24": "img/clearurls.png", - "30": "img/clearurls.png", - "32": "img/clearurls.png", - "38": "img/clearurls.png", - "48": "img/clearurls.png", - "64": "img/clearurls.png", - "96": "img/clearurls.png", - "128": "img/clearurls.png" + "16": "img/clearurls.svg", + "19": "img/clearurls.svg", + "20": "img/clearurls.svg", + "24": "img/clearurls.svg", + "30": "img/clearurls.svg", + "32": "img/clearurls.svg", + "38": "img/clearurls.svg", + "48": "img/clearurls.svg", + "64": "img/clearurls.svg", + "96": "img/clearurls.svg", + "128": "img/clearurls.svg" }, "default_title": "ClearURLs Add-on", @@ -45,13 +45,17 @@ "webRequest", "webRequestBlocking", "storage", - "tabs" + "tabs", + "unlimitedStorage" ], "background": { "scripts": [ "browser-polyfill.js", "external_js/jquery-3.2.1.min.js", "external_js/sha256.jquery.js", + "core_js/message_handler.js", + "core_js/tools.js", + "core_js/storage.js", "clearurls.js" ] }, diff --git a/browser-polyfill.js b/browser-polyfill.js index b3dd82d..ff95de8 100644 --- a/browser-polyfill.js +++ b/browser-polyfill.js @@ -11,7 +11,7 @@ global.browser = mod.exports; } })(this, function (module) { - /* webextension-polyfill - v0.3.1 - Tue Aug 21 2018 10:09:34 */ + /* webextension-polyfill - v0.4.0 - Wed Feb 06 2019 11:58:31 */ /* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ /* vim: set sts=2 sw=2 et tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public @@ -28,7 +28,7 @@ // contents of a function until the first time it's called, and since it will // never actually need to be called, this allows the polyfill to be included // in Firefox nearly for free. - const wrapAPIs = () => { + const wrapAPIs = extensionAPIs => { // NOTE: apiMetadata is associated to the content of the api-metadata.json file // at build time by replacing the following "include" with the content of the // JSON file. @@ -241,7 +241,8 @@ "inspectedWindow": { "eval": { "minArgs": 1, - "maxArgs": 2 + "maxArgs": 2, + "singleCallbackArg": false } }, "panels": { @@ -763,9 +764,9 @@ */ const makeCallback = (promise, metadata) => { return (...callbackArgs) => { - if (chrome.runtime.lastError) { - promise.reject(chrome.runtime.lastError); - } else if (metadata.singleCallbackArg || callbackArgs.length <= 1) { + if (extensionAPIs.runtime.lastError) { + promise.reject(extensionAPIs.runtime.lastError); + } else if (metadata.singleCallbackArg || callbackArgs.length <= 1 && metadata.singleCallbackArg !== false) { promise.resolve(callbackArgs[0]); } else { promise.resolve(callbackArgs); @@ -1110,14 +1111,14 @@ }); const wrappedSendMessageCallback = ({ reject, resolve }, reply) => { - if (chrome.runtime.lastError) { + if (extensionAPIs.runtime.lastError) { // Detect when none of the listeners replied to the sendMessage call and resolve // the promise to undefined as in Firefox. // See https://github.com/mozilla/webextension-polyfill/issues/130 - if (chrome.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) { + if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) { resolve(); } else { - reject(chrome.runtime.lastError); + reject(extensionAPIs.runtime.lastError); } } else if (reply && reply.__mozWebExtensionPolyfillReject__) { // Convert back the JSON representation of the error into @@ -1173,14 +1174,14 @@ } }; - return wrapObject(chrome, staticWrappers, apiMetadata); + return wrapObject(extensionAPIs, staticWrappers, apiMetadata); }; // The build process adds a UMD wrapper around this file, which makes the // `module` variable available. - module.exports = wrapAPIs(); // eslint-disable-line no-undef + module.exports = wrapAPIs(chrome); } else { - module.exports = browser; // eslint-disable-line no-undef + module.exports = browser; } }); //# sourceMappingURL=browser-polyfill.js.map diff --git a/clearurls.js b/clearurls.js index ac028c2..afec71b 100644 --- a/clearurls.js +++ b/clearurls.js @@ -36,7 +36,7 @@ function start() /** * Save OS Version */ - browser.runtime.getPlatformInfo(function(info) { + chrome.runtime.getPlatformInfo(function(info) { os = info.os; changeIcon(); diff --git a/core_js/message_handler.js b/core_js/message_handler.js index cc48d9b..fe4fa03 100644 --- a/core_js/message_handler.js +++ b/core_js/message_handler.js @@ -35,7 +35,7 @@ function handleMessage(request, sender, sendResponse) { var response = fn.apply(null, request.params); - sendResponse({response}); + return Promise.resolve({response}); } } diff --git a/core_js/popup.js b/core_js/popup.js index d48f21c..2be411a 100644 --- a/core_js/popup.js +++ b/core_js/popup.js @@ -35,27 +35,60 @@ var currentURL; async function getData() { await browser.runtime.sendMessage({ - function: "getEntireData", + function: "getData", + params: ["globalCounter"] + }).then((data) => { + globalCounter = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getData", + params: ["globalurlcounter"] + }).then((data) => { + globalurlcounter = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getData", + params: ["globalStatus"] + }).then((data) => { + globalStatus = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getData", + params: ["badgedStatus"] + }).then((data) => { + badgedStatus = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getData", + params: ["hashStatus"] + }).then((data) => { + hashStatus = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getData", + params: ["loggingStatus"] + }).then((data) => { + loggingStatus = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getData", + params: ["statisticsStatus"] + }).then((data) => { + statisticsStatus = data.response; + }); + + await browser.runtime.sendMessage({ + function: "getCurrentURL", params: [] }).then((data) => { - data = data.response; - globalCounter = data.globalCounter; - globalurlcounter = data.globalurlcounter; - globalStatus = data.globalStatus; - badgedStatus = data.badgedStatus; - hashStatus = data.hashStatus; - loggingStatus = data.loggingStatus; - statisticsStatus = data.statisticsStatus; - - browser.runtime.sendMessage({ - function: "getCurrentURL", - params: [] - }).then((data) => { - currentURL = data.response; - - return null; - }, handleError); - }, handleError); + currentURL = data.response; + }); } /** diff --git a/core_js/storage.js b/core_js/storage.js index 63c58ff..9a4efa3 100644 --- a/core_js/storage.js +++ b/core_js/storage.js @@ -1,24 +1,24 @@ /* - * ClearURLs - * Copyright (c) 2017-2019 Kevin Röbert - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ +* ClearURLs +* Copyright (c) 2017-2019 Kevin Röbert +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, see . +*/ /*jshint esversion: 6 */ /* - * This script is responsible for the storage. +* This script is responsible for the storage. */ var storage = []; @@ -61,7 +61,7 @@ function saveOnDisk(key, value) */ function getDataFromDisk() { - browser.storage.local.get().then(initStorage, error); + browser.storage.local.get(null).then(initStorage, error); } /** @@ -75,9 +75,9 @@ function getData(key) } /** - * Return the entire storage object. - * @return {Object} - */ +* Return the entire storage object. +* @return {Object} +*/ function getEntireData() { return storage; @@ -152,8 +152,13 @@ function initSettings() storage.badged_color = "ffa500"; storage.hashURL = "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/rules.min.hash?job=hash%20rules"; storage.ruleURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.min.json"; - storage.types = ["font", "image", "imageset", "main_frame", "media", "object", "object_subrequest", "other", "script", "stylesheet", "sub_frame", "websocket", "xbl", "xml_dtd", "xmlhttprequest", "xslt"]; storage.reportServer = "https://clearurls.xn--rb-fka.it"; + + if(getBrowser() === "Firefox") { + storage.types = ["font", "image", "imageset", "main_frame", "media", "object", "object_subrequest", "other", "script", "stylesheet", "sub_frame", "websocket", "xbl", "xml_dtd", "xmlhttprequest", "xslt"]; + } else if (getBrowser() === "Chrome") { + storage.types = ["main_frame", "sub_frame", "stylesheet", "script", "image", "font", "object", "xmlhttprequest", "ping", "csp_report", "media", "websocket", "other"]; + } } /** diff --git a/core_js/tools.js b/core_js/tools.js index cb16d99..334bb7d 100644 --- a/core_js/tools.js +++ b/core_js/tools.js @@ -69,7 +69,7 @@ function reload() */ function checkOSAndroid() { - browser.runtime.getPlatformInfo().then(function(info) { + chrome.runtime.getPlatformInfo(function(info) { os = info.os; }); @@ -207,3 +207,14 @@ function getCurrentURL() { return currentURL; } + +/** + * Check for browser. + */ +function getBrowser() { + if(typeof InstallTrigger !== 'undefined') { + return "Firefox"; + } else { + return "Chrome"; + } +} diff --git a/css/core.css b/css/core.css index 0755803..19df4d7 100644 --- a/css/core.css +++ b/css/core.css @@ -33,6 +33,10 @@ body { margin-top: -10px; } +#body-popup { + width: 200px; +} + #donate { transition: 0.3s; opacity: 0.8; diff --git a/manifest.json b/manifest.json index 7551997..eb35939 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "ClearURLs", - "version": "1.5.1.6a", + "version": "1.5.2", "author": "Kevin R.", "description": "Remove tracking elements form URLs.", "homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls", @@ -58,10 +58,10 @@ "browser-polyfill.js", "external_js/jquery-3.2.1.min.js", "external_js/sha256.jquery.js", - "clearurls.js", - "core_js/storage.js", - "core_js/tools.js", - "core_js/message_handler.js" + "core_js/message_handler.js", + "core_js/tools.js", + "core_js/storage.js", + "clearurls.js" ] }, "content_scripts": [ diff --git a/promotion/screens/Popup_1.5.2.png b/promotion/screens/Popup_1.5.2.png new file mode 100644 index 0000000000000000000000000000000000000000..74b194678393bc28a5a2049893678b3af8069096 GIT binary patch literal 45203 zcmV*iKuy1iP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;jv63FrU-umnj&K~#8N?fnbTWoLCAivGqA{2+edU^{j& zzOI~dUFY0z>`s;ICQf`VrcSDyEHLjtN$6-=-`WOGVr@iLyf2TIQ#6i3@ zowULa{J;-P0|or8XTJNCZ#njgryM_HXV_lx)Pq0s{V$!~1ODbGU%GSrh2J;5+Ecv# z=fCOr8Q=8DXHPHJc=prpJ7ed*pZ}YDHJ&!w=G!a3{=S!d`@5h0Lp%rgqZi`%xBb!d z>T4K}JDJFv$B1wJ)^DALTj3x7-KQUWC1UXP$6oOCi=Xqo?|$ynuX@SX525{|d&zUYZLsr{X+6h&sf7y5Z z{`9hi4KkhnlTRCp%S*rQlg}M$;=z}G9ZKZEpPKme`vW__?!Fg}74v7l<1ofQW9Qh< z{NVWJI1a9T+0!mXk^1@X{nf{;Oh5d0zhf}wpHD05l4+d%6;HkD=btf@$Y1zISRzR~ z(eOl&X-{BeVp@OiSj#$aGL8KESI@AVe%8DH)xgM6!~VvnU-p!TUif{dk8ce4k?%P? zOu=hOrf<3UN5)qp9s`+v=tV#NJqHJ}e#58#?sTX}rg6Z7&zWAq?2BRcFMs!{FFdjE z_>$?F&wS>0eb;yKsnRa=iJFAVG06I1=ICFqUkw&EMcUh?c8*pE_j+P58h+1NZy1bU2Q(%sxMKKViv zsjs{5pAUu7(eIgF|1;k*-u+>F3R=BSKIaGiEA5#G6}!Nd*^O5vGL6w~^i02h$~Qjr z(r>+Z2y-OU!Jis-ORNL-%CCRuWlueP+Fu*mrd^PU64)+t)GCzJRd+vNrU3{3)(`&v zbDnES+uQ>OtKYHPCM+w3$DsvG( z^!uk^%%@!S_omk;6rKb!fiBu7V{oK=Ib5?-S;$TzK4*H?=;)pMewM;uWSU6!ZGW_G zq7l@m9Dn7v;y!=UEn~(%{)ulNZ~dBNn)vt9Z~uMk%5e|>X`Fe+H($K6sur*x`M!g% zz-ixf>FRigOh5lqPkZQ%Bcxo~MzxtC; zUk^BT$Cv)S^*tKUBGaUct4CQQnTm}~-gAHS`#!C13EX|b_q=vpj!!H+L1gle37{p? zJ~r%s=To1;eUgbi6ZcPkh~R4oPXd`<^Y_0qkO|;E34{~0f09gJLwM52^oF1L>m(5N z0q&n9)7LbfAToXXx35bZ$wbCr!#=?Mcl_M<=q-{dfB57iPFOraWcse}`Ytfzw}1NS zV9CFI&eO#hY}g05Po7bYZS)08K%3{NPT zTyi>OaskU^`rvQ>bO`+8wEgj~w;!3GM1?1fOyMy%_m_|2G2mCt&}786QWbpYpcJ^x4mS_4pSb`D{G?@cqYE z2=AWv$ivec$M64u9ba$LlurmElg90n&v?crlenFre0oC3wAJT#^QU!*5btRlm;_`p z4UGBfvGX<$4%>srzIgoj;fII)4?KGO_@lRMyvuEx@(I8*pYh4anC>=-)`^8Dh)mCX z=J2zT$BRtVq+3d58i+EXAwMSqnMzseZYQERJwapwz>H^o$2WZP#Zz_bZzy)(`P8QX z)5V4m@AX!exmymej? z0Gupy+XCeHhHn@?);$ZH_TAt8-P2{82=QKTO=W5|Ml(#pHck12;P<{OF{ZgaZT|`R z?H*4knf3%B-s{cDWc#|Cn|QN&%kJ_9Jjo6Cfba;QxxM>DRHXrbg~;?cY}1ra9On7- z$!DCnUpaJ=OucQI@(D$cPbV^yfUi9=ec-pB6GHwtZBO3M=4w8j;7kI(_Q>??zy04J z%pvf5zF~?d^-}|pPbWT;fUi9={a1rEpS~uT1e_$(2@F1bIw2n^l{iVJ6C2Nb<_Y`D z;29^$bP{`plVm!HJ;O;doy4BuB$-ZP&v24VC$VQ3e#`MBPGV26GyTwfg}d&$YuY=0 z{Ej>B2s^+-4?Q&PHE{Rcci(s4ec1Wp7r%&q@4WNQ@$i5fZ@h8Z8}ZkAL~g zU!L|>z@%UL(wF>l$0LtC!kxeT%fI9fK-)Mk@%hhx{;OXdKhS&pICl;oKFpW9##g@b z74BfA+;QA;%PrI1CXO9DHtmgoVbk6w9(dq^X>SvU4jtl-79Ij|&pr3x-}~>MJ`3S- z3}AGKaGJjbaISmry_YXb$i2V@nVd94a1G`z*RTu7DTuv?pLqD;hry)jg+YPb78nr! za?(J8;6Xu|3t#vGUzVVpEcYzd{OF^PPA^6T12TBR!Gj0+atRc8ctl?I#B$)|;PkAWgk0eo zNx%;|_AN*NeC-Gr+$cUdT-SrU@UmnK0FSjqk!U$Yz`Qrzbkp==6BC)Tlm*vdRY#8= zonACNOZF^upZfxsm7Gu}LbZa}xclgRN*8q zwga|dia?ImbVPqS0Nv_B+h=MYF8R4!lkvVL{!BaR$7GVP7XEOd$}t|$cVN~M%S%Y1F!I*DE_o|XC$NT8R& zW|xW%yg!B6*^&}ISD3}%-?9ndjD7Fq%L75PraJoNDPQXhz>(es7ftb)A_k#=m=Ja%V*aZyd>`l*^M%(*MKvV za;V^f){-)E_Ln*rfOB%;R}7XT=N3ZSB7KO2G;$&DX`TkxGQ)HTrxsGma0hOoik;ZJ z71%8;FXc;AFp|lCa6|NK!M5&bfv$0ms>7gAmy3ZDbNe|9+3d9TuC~t}yxR$0OaDZv z;4!#2XJ*T*S$I?*f*)Wc99ZVO2t<`q=hVtE0_4N&3QG0>M5n1t6r@mVwHWkbeSx9i z=awxX+vLO2L9Lw7wbD-9qcPzgBgHugkt?i#dEp;lLU`N{I4@hhlw*ki1RyA4lC#Z+ zq85fC6B>_D0X@4GqF3g&MW5Ql!jb_>!9fQP9_*jrafgx;i5OBswQtrKk}|{~!%qlo zSWau48SH^(z*H=RS|YQZzEX?puDh-ie!Ml?G7?*ufP6!?f`xQ_Z2nqWT(`|7ISet zB$?web}B$fBRC5d^I%^!`EIy3>Es`yUIqh@n_5&0BO_H>kqc*bToi~1+d_5THQX(} zmkAg2 zl@V=`KsMySBPtv!*ol{=RV`i55iQSz8~x0ZC``*vd42FNKECfY7oBdK72To_5hB?bI_~yPYw{(%5`y3 znHlJX@h?LQQ?axxGno*&>vm+Wg9-~X7Wt1^z=<;JKn}XXo%!MOF9MnNU3jC{t87CH zI~a?TwRo_J1Ly2p^~KOv%>c9!?%D9ihLnk(|a3{ zpD?_&d3=*h4?J+g=DVj4ucq14RHyGh^p&q{)eLQg9DaZ*)hRl&_RLCAKu7j~e2bt5 z?ruryw?2R2Z%<5OMVp}7_uHTOi%liYPx*zOGHs~Y7(wIGCMIH>{?=Q_NXDC|uihJ9 z9Qu=AUB6hJch-lQ#A`Br{;KoFi_W=d>^Y_(p8wYMcxH+er4w3T3;G!KQtD}>Xa3X4 z*;ZFmgK(&@q#dp*pH4xm7}v5E%M!0;S>Ak&xI|aYqU7#@3nwP+d(8*WJ8Wb<_L<5rMWa8#h2y}WloR2!|R)sNHD_RW-;f-T1(`8#pfU+ZN*UEIpXD0z0 zO1~-7%{)2+Ns<>X_77yzl$1)nM@)WSQR1W5T*Lf(=%Jf&Xo}<}DS$+#>AeRZ{IJnt zy6%jN=<%9NBgWUKUT`bse&i7p*kQ;uBFVjN>U1Gx_*=aWz@fN&VAsw5?9acwi}L!# zsXM(Lpvk z0!WsaPA!s!+*=5Z*1!Dbn_U-%z#~ssuvE5OWpmYY;)ZuuDtqIZq)xGY!u=|Z%woyq z?BqVtZ*Vp+(PODhVuDD8A1Af<)Z}fLYL@q&VLyN#g zVX=@C5GaRmP&{K20e6RS9wQid2v4A9ryd39!r7bFg}C|8KA1SP-cJ9siK+d@fLNqV zmfRbhF{K#b@jvCfE2pDICOGlVJKsYxT{lWXAd|nE&YX^HP;irJ!HOD7zLtsIKnN1} zhlEzc-T_69q@*5*or*+DhxiCI^P^J`m-CNMR!~<&Yic}p@b6Ub-Z;h12^0jL8ni{3 zWX;#q&s|ueE4O+s9T$$YkWx|OB8MrallWw)5 zhzEiZJd+#M448_m;4#LMAmKz`ca$533XZo*QOenYlk3PAk!pThv?)wIU2x>@*2OE7t|*`90;Uyk2!l&Lb2NzEqwh?(@# zy#S{NIiUqDLM(y$Ga1Uz4r|`1s8jVjdh{s#%XFM|+$^$Bca0@FBrH5RkPMKk_2dvo zLQpcw0JUuJuR5EVBljAt z^8XT{os~2!q+EL|4FYs6#$iFE&&zq;V4koun>w>eAo%Fz2@6pw3J;cVb>N&}GQdbI zdAWI+`s}(if}2Fw(_=Ux$O(aL!EuEL5}V6e&fC_HlL<;PhU)ldmaOts$vhg&9ALuZ zh-W?=HIzAIk|z_6f}wPT?x=Ob!aD^nk4|x)vgw&#tgtX|ytQY*LKezj*IaWAcZgEb z2s8v`$Q=qiL*>@$tv(hmFawsC$xOH^!xiDyBt$Ame%Wd9lF%*m;V1VV4G@eF!h-~I z&IwspK}R>ey!{rGmm%c+s|Z~}{cua*X!$GWYrf?qFit;%Lnic_-w;k(8$wQi&;WVk zC%|$iA{P>(5Mp1}{XGY6W_c69Fwrd=Wa^YW_{CF%VZ*8zMZ)(pN_lX`D2gG65P0`* z$%769`sB#)>Btpl48qx3X0A<`I-Kkkjj9GJTz&P`JhByX=bp=DhUZ(L^;V85sWPuj zEyxsg4>`>G8q*edZ73F4)ogkNM{tC2Fa)wwpyfxATi3!uEfB~l0Y$;=K^}r7f)C~B z$Z+Sa(n};*Rpp=Fk+1j~T(>WdKVisbM?5|cT6D_-a&3;a~ z3@X3p76MEuWtor-97bQo`S14}jB{v>**H@$++Y zreT+NLiu@YpIfRVQJH3^bUtOJZ6R~NgN4I(l%_<;7Wv&h)nC2>1IQ1s79^fsAZR23 z4mrsroL-DJTz1)I(~A|DC!D2|(t=VtcXc62yex$D;4LKV@tTA6(hQtT*C|8lG8YD= z6LY2>zVkCT-v7q`a`%frcI+R$=k{mr`G#RXbo&aR z-get%g z%R&3)sohP$YO&g!^g}s zE=RaW#u`I0;R#uj2-@b+RC`B?^fiw;>8|LssuP)(h#ml82%+8E?L&9|-*0;0{QJH# zeK-p{c!`7IH0qN=h~A~VDXTt{x$iX}xc~T({ip4F?eHOlBl}O;_v-1Bd5;4aHpBxv z`94d?JP4oA!U!d^J5OHJFa^+2A$iEBJ_nEwT#mR1!1Lr5m$0EsSd1h{z6Y(A~dga$KQ`6TV|PuVyE9FUC=-N<2K*beMo*d=`O_FwXd z?(HTuY5^zs`Ip`OD>&!@E?{KxD8kp%%hd_@U;ifVFjNaeF1Q0jRU(wl`F4j#pgo?+ zBvYq2wwf514ZAJzdvnME zUhBf6(>!Ms7wxzXbfHHd{Ss(R%Mz&(ggV_i%%({0i-xD&!2cE&{2TUn0JFrH{EoT-%-PQ8S$xmeo;}} z+ijsN5iU-jxZ?#p=)B*^ffYrtTE!A8Qc?TM!|R^u)O}}8R2hC{@9Ymwbp#SM%GEH` zqF;j%+>?M;4MnFa3f`jO9<*UkZE>Fxbks&#*J;Z zTXJ~k1e0*2C-N&Y0Zjc#tH$TXZ8+~>esIc(6C+$Zf0ppjVU zH+Q60N85-Yi%cCgR7U?{0mcb=qNxWmsT_u~>ZMU3-1BXkU@`Kw?pZ7q6=Yh7xDv3* zp^creKVpz)JBXJ^KYDzLw1fgDuXe&203pH2q49uP_z0wwyTXCW%M;4d7OoOkc-%Er zfQK=lS6*BddnS4Zc86by@(}LrHchY?%dcIxL@P`=G&18OPLW|}P@vJ*)6v1F8z*cG z6`(vs*g{SM3}gp%d&qc#-IYf)^kjWPyDpNBVBxHc5gi#OLhsmYzym&d?0@hm?%{Ud zSDJqUAOk1s!Vlg4oatx_Ee7aW<@$sp{Gzhe*}9v1{?sRpXMVKpTqbc#7-q>NAl`o8 zgqOSl41hWgdbvF)W~JBwn9F$vnwH&F$QDWFL?&^t)tde1yI!Oy?(Meg1|0VUp@PgJ zWRkF?;<#s8ncZ(}`|koyqge!!U3=}d(_RX;(9*EnB(<`FY=hd-)F7oZ%A{#dz()gD z-~I2Vqr1hCBS*>{rH~*bj7m`Z+^G-US(C|sG$Y{>PQZtj`jC_3$}8)8LwHsT4BkY&@FUWXeq(`Frhfw98J|yfp>mmN z)u4so<^1_c36d}HK5I4&&d2F1{2Nw;<*doX>9PJ++x6Ld|5uOY-fpvwN-$>jQ0HjGC8kiy1coHvXPY{M2wl9DA%bnI9@8)(w@a!*HqAJ)&`|!OQspFw4s{Re2I|iT-U`NrhmN zIvCW4P((Uh0T*FsM|%P=Dd^R*wzQLQ57Si4OT*kzO=Y6a^WTu@6TmD|29Z{i&NPQ1kIm;s=OFNeSptSc-nlZi)Kq~zs!@Q_i! z%%g!8a3}S+_TzcObYFU?_-TB=wlN??$CienAo>p?%C^*<3wcAzax{rY_WtfrCJzyK z1LPxuScQDkibBr#TwD&+=UDYc0XRO82^X}S7`~?`0F=7vf%86f&o4es&&M$=2FDcn zDS&r^zTog61g8aY4Uy>dG!FI(t-F|<>(H~7OM&nmx`+FusvE*@;Y2} zP(kx5#7@i=m^vv_s}^K!_tD)2PCK5%YKkeb&OE-@!0;oL%Wje0@xqKn`n>#>F!)+D zl0$u|s#Z8t-o&uiUVCk>{X(ZCc}Rj!6?k%@!zv)8xW4oZ<0B0S9+`!Lh0F;K&jj*p z6m*|E+d2~=2NspNmQ=zKolXK?2>i$y9DozxdeLI`d`Ii#(s;6DHjl%#h>(}6ve*fV zpU>j%!U6Jq8sz}Kt;NQ$JAq<#xQ3h<>%}xJrf==`iL#SY!3Tt_DbPv#taVs_%u+~qe6BxD-?|@PcwKSxYmsI5> z=F0qQWl z%$3t{F@fNW2bUqjhJJG^Xlgn)$P8`B)EAlfR{mptE(!Tv`fj!edc4E0oCE&uw&FoT z$bfAxC;Adj7dhdao$wDl@9f|BmG0FYgBylR7LiGSm)*rGWLYx>Evcmz00e+Tb>im> zo6TAW7MUYW(0$=I9$~QOtIvxiXgMCLRz<_2{BkT4FR6CS3J*rv5d$7$jwWTLA0(*W zX>5z^dH*}~M9FD|9!`#Af}s=xu8sD!*6DzcKs7Oa;VpLwzm}dt6gjeJl<6Cu^aJkP zmWB)cJnmz;av)|divESwt=b`UX3;H6A9;=BP$#}B1#sr9g%g<&s@yS%8Tl=O5rTI* ziXu>ZU=x?5OE8N^-Bm%#m;Ia@npHi$Zffj|&fN}zI5irCLXA7@dS^JIceIS)E@r=+u1$O7SH;*nevaYW?s z={OWWxj|;Ms4w_(0E{L|0bwnfkpK<$0`yqm`J<4N_a3TNIr9w32#d{_WxSgwWDa1W zomMO3L@x6Z+Q4PZs$UBVMjpQtC#nVi4W9C==p#5HtJqSOiJbb6(GU1+^ zAO6s9AAjrr^Z5Vq-yJ_=XYaTF~y;jOGI0gCWidaPe50Insvw}SqR^K#^LT8>hdS{S~#V%iUOfFuK^T7oE#`f z!&)*%L}gmS;s^iY?ZT?0gB#3KF1mJOJtv z6ds=D-9tycc(MjWUC0KrE8^<%(=VYcd}3{mpc5Jv2IlE}zc8~iX9ex&4G_*p4)+@H zn(v>wFvj=^-e5rWJy#1eFSIydMj4w~NEL*9L=xz1cFb1l{yo2!k+QE9T#U;}U2*~) zXVZ@^MY$Nrgwfp;j!V}t)z%3IVF;o9w?B0J=fPxcWOk&_-%B>x9YU+;pu2+aCx(-hads1+Pb7032BqjSvU!&^ic6_*-72n2}Rlg zhHV4@Ela3w;7tp7%g@}~4Q4zzc`Dp-Y&^^~GR=B6jI$NP9Mrib-9ms2xZ#EyxD${G z)KVij0a7Hz?fiTKSlT78fRSBjy>Ji8w6H)N|HBtr9AC z5F2!0_g!~Eyrc^;BP@Z^I4h9;se~3UrFo$P3t|j}`&=(-Iyqk@6b(414C6j}>F=zg zh?ZzM9=HDKf%pB!G{wmHBF{F-v zSv`=6dWcj8jeKG+$zM7DXV!sSC`-iSCQe^{^Zz(aF``iB;rrlT!)UH=VFp<`YZcs0p*Y54s#~4lC#;^0< zLOhDc5d3>DITQciJUMP9LiqpG3s%e+4xat7M|C-RBgq~QUIZdsbjH5ZF61Q-KKNlN z6Dtn=4sB2Y3ip_J*$N&g%eQn1v;pIQn(BnYwalw+Ig~%ilM&1&P}3GOV|fTO{MxmLja{pySf$kkGN z07X4N%YpWYe=06)TtKGfbScklJt0#MnyCW|X=JF^Lp*};%3RJpUGRI)UWf4Z&kjcx z0w?Rjz1@EA*)z8%q<~>6LF?nEoOk7PZ~v7;Zymoo4)H&Sa)m_y!nLbgvop?^s-t+b z+5tastrIJZ1EA1+?sK0T-!9V0>gpV?mJBf-9H{n=?BKdot?%(mZPyN zH3@lN-brl>sIU6PFp&$hTb`S(5^PB+R8HamIC)(u&{cRI2$LxvvnSdo#-oA3B!e;m z=p+*&M{aFAZ#=U9dHbF>aYe;#(4L76UqDl}@0^cTKh+}Wy77lC!zDvFSL1X7&;iWz zic#FFj!-e`Ky-(ZP9TLF?&2?fXcjtfvpp!_J_puh!j+<}l68IdiTBX*kz+FtX-YkB zdEZLnT9*9aTW^U3l@2jlAP|m};|MSb1|W(gH2-bY9YmCY$c0Sc2@nG1k29dJJsat? z0#!{WdBX(DY5eqh6PRoG78Fhy+W4Z<#UH24bxx08w}fr;$0?zC%4oTOpzm5ieJp?* zNd;Lb3T7a6Rq}9J=gcL*XhF~TvNf!VBNfC?>nOcr{byCV=H6uxr*pnzBcdIBdOS4= zW*j>-{34DR@1>;WEUy|`b#OQRsDy5HGZ-rLB?N{o>yayjOqHukq9e(ReBMN$OIejt zN4Q4wG0+OI!JUa@D_0FL4~H_By{{Z~FATw`KZ5dmYn8$dUOs+(61UYyP@uZpAsCe$ zPLE2sbtS~D0C%@Sj_|a85fA5xD{@^+6cMV086SWJmONu70IZ%NtV?uPesI$GTpF`1 z1p}GF@6Di0hHui5Uj~{#*&mL3_!H;S7>73v%h5`GKi=tA2obA%loueXg-C~tmm-2U zEiPsW5ISm%H4LFhg>*7S*_ldW}diTU^n6&y>T-M%Feux(57IHB+ zttc)o6&eRR5#r=*Yt@SkJ-ZjJwK@*yA)_WKWO$jw2S~$!d=3ZM7BD7~Nhpn21N~Fz z#~<$v)2%)b2h0Y8IvmosB}EP|ZE|ZX*TeX&F2uVT<@aNub*S$`aEs<`oxdC!s*|Wq zG6nbDc;k&2PLj(`^ZrAh8y@z&-enj{6@gDflM!BK zU~pQVGlyO-^O(q$Mc`;|WElXV6T+6yJ8BeGT}}<#Flip7Oc;k86^i)q>)}oUd3GUY z@2VU)nRZYWmupFe-)4s;0fD9m4<1DB(rX_6aG`vpMJXh$5B&gv1e#jE(_M10%!EFI zR>1>75i?pWgdpX>g)-Mkp%RA<9okSPcW$6IYl`N>GH7T&+ZaFkR|DqTjU|99F&bPT zt}`CqQgkwPZ-J>5NCk}cxDDB!+?NF2V}Z;uEwf+mvYNu4<$l2IfssL$h-x+c&$8RafP8op5Qh)?l8D`y`CbdAf zs%!wnRd1%}O57KVkNA0rH9DmgNi# zTucEd#}OMAA~Yi9m?{FHY?aU5xU>psl3p)>H0h|W3m=_8n0K&LB?u76DVM1sb zOc&j7mW$^(a1-nZ?Ct<#dhTMz+1uLduDfpb99Wno0ftR`hU^-klLO01xdh=y=|De| zmpirv|J`3lV5Im*;AQqXo0$NNGbs~2l_^Q0lt3^ZeDv0vA2|P0_x$3=j{T$XH+1%7 z!>||}Q7m$l{N0I?=mLVx~!22G;KRl=!gL?nap?d#RSBfp$JDRg?dA5>$Y|w7>1S( zErIK3tJMwYNN)?^oJv(Fqk+NshfAf4#J>(AnLsy=mA~f?IQrm4A+&qDjeqd@{QJIg zC8xs-ej;Wwsa&yk_62`FE8FXBDD8TM-#&na{*8CIS2D;m%5-)^(Z7r4*+=u78wQYSaQw@bh8J^hN?d z$2aU9+5h|%b%619Y~#0esb^lZECw5AhQtkjyT`$)F%E~a0b@1?f%G#2$TPno@N2;> z(Q6jUI_%(fig#2zSgZRc^q8Q`-hoVzQ?REmbdV*F<=$>LJ#fJ^O&2)Lue$TztEM+v z7|Pu0D*%|dV2BP3Dz(CRaOfU%aP>_ALkNfOdE!C;GPnb;=D~gEd|0`+9`p1IZ-~#0 z$l6>WIyzLwOy~<3pt-;{>Xs;*!`&LKG}{Y0n9Y}yGR;!^rU%aRK8M5k+PfJ=4C^E*y%&m%qIJzMGK&&mTo-*yF+RQYuq8$o+|@n0MGa^-ZIM;mp(D zc;#IaYh%YXFeA4R0Of&q;K*u^6W}kw0O@GwPLR6QX}L0!XhT3rFJ61a6<6@3iWpY6 zQRXy#D02|EPu=s2isIgG3uTFLar*e}{}YasEz9JrDdL9VNDT75_g*qZeuDw4Z>op~ z#}PM1)*0B@m~U1&99glJAkzX+5rjqr8#0^yZh%Y;EDYtZ)9>$Of_sWfu^y*q+}LKj zC5LxTFbPLG&E~z=od5iNXK#>c74IQ(10jTg4Px5puZbc~zq{|gaw5^jwZQ3byY57D$j3<_@L2g?F$^>&s-x zEnxWK3jF6KlZ)g9{1*%G5bo_ZOt}rhwe)Gdypc@rv6zuUH)6>nD?U0#ZWNQ@`*i$^ z14rpOWhBu=AmHlrhemwdABQGcw9C;)-raqXzP)$iM5a#YQ$Y)_S-JHlGf>l8Jm{k% zW3aGvU|_QwEa?Jnx#bp0+72IZ=hDl?t9*X+*#F>B+{5j@ugu+)8E~>Lgh^aOv(p?I zv56_b{@&^P4{S1H!1LeswzVSZ+}FPLjEP~Gbol1N5yNSS{Sf|54HyBX}Rc33!P<$&CRzLIU(z$WkcF72?p0&!RO8MkW#I zF)9{{Tm8^7;{<;+uq{H*j-XC^n;2X+7OxAg9jPz~&#PD3R-^n_QmH7oM+P`GiO2|* zBP_=z`+EQh!d$L}rT%puHy|t4WGWr1gD2oa%VS@-8V6yal0I}HgbPML-81NGtCq2N z(LXW(z6MR<)<9Mvw-XM@m;+<#mcoba#1#M)RK;{=sGA*7azf8UZ{$Hl-=;FbZXXMl zJLS3heZK&FIR_ucfy}N&}|(ih#ENjp!Y{TqIVEkl?Q-43_<8sq4=7-&^e60!BSonV*`%T$pQu{}E0G`C8KJ^0tIV9CEd!L+ zEyrfgdD1&Hlt&HJl(o(e@0L2tfsnHzb;Qr7!)c*Cz(i4*oar3_FZDonz{Ps3;0tp< z`dvT?UpYOZ%B5u>tr0wC*v&WJtU%&goh-~MN~?L2*}>76mt%&$trL%oAT3!Sxu|ej zCuj1)1ALi5miR|6u-+_qOE8g1NdO+eK^=oMjmO5bD!X!4t2@Z|xBMj@u$e}Z@mbsD zrj}Ze0kW2iB-F%U@Zi?jXE5+2E>XagRAC_qSa8(x_)Ft81 zJuE@Fd=*M(11S}l6l#UUp44g4F7$ao;5w+B&&eR+=%1;~J(jj+Ij}shYb6zC`$ze% z)Di>+P6>W_>?m{5Gp$pCCAuB7!sbMQXRtbEOVF4;N=@a8P-?Q}!5CbwposUS25mIp z{TP&eNr{#WIzm1zN14X~7#!BZeYv9yJ_Q&UdB@wD4n>I84In^ga+#D>jK;WX31R#k zT3>ANe^?st3|a=$PMG8wn6uG?!aKVFP8#B?qOo(;Rl^U$vPi(ESs_EG;!Ab6mL$^Fa9s+#B4L69YIrbT$JqNHt)>O4}5?Wa$m?&Zgy!@asWZX~~;x2~YE-(JBdN z%U4_`PYcCvIa<#JiF|jQodC^H{+ zAXlV(yF>P=Bec@FWVEPE)oEn~NrrzhJNeWxBexK|5Ib3G0UqqglH1I|b9#3GpNn>p zOu(#44dv$1TQ9roS3>L`*G=CXH`@R?O8@Q-S$?j)_S$~!V4QTJhYdAF*V5sl8eev@ z0v-^hScx*N1wO3WiXXeiPG2_5V2mF@IYGZUt_4yM;mmIBl+h9lcB{qNcC-#kK6$+M zoFX|lWP|#)(kiZc2OOW3A^`Gx<&{_B%oFFEsU6XhD0-(mFc6$p=hlxKtU8=Th2J0y5sJgp?_ z;b_Q`$8vAC&M!GR!Y@4W<}Tl483smV0lMd&i~VZ?h9a{5jsTvo*TV_7{Fi^f)}Hm5 zr(JLzczocD)yv`cGhL;|$q5{qgk*g=zg{fDLx>Pa6%aqfj6v~WmB|mEOvPmG3js62 zfLmSO?3qHHJ~4kiJl|3=eJS;$(~Tz1Dv$bj&TBt3rq{4L{@U&)El$~Y#<-8SSHIM& zT|4uxE8hr}TAjH%x;~-0+~Dm?>rs9#I(}8C#RP|H-Ga`sF($JG@`2 zC=VhkpSa@%isIgG3uTFLar%qT|H5=MfrW`#zLKsXx`e$2S6pGUCQ3KbO@PMT-JRg> z0fGj1*Wm6h!5tDj!QI{6-3jjQ!MS{E&fGaOYwo%~px&x_s`g&5R6S)a6AgGX*xs%- zzL1EUd|k_wkAJT8ORP3@`Gzyumh>a9G>YC{;F#{M{bu6drK9+wahJiYRx;wWs6@)8 zFtGXeObE^=7*QB=1cGD+If_H~LX;q(L#~C9Zwm-34iA@G==Z;NQViPbNSDOoIvo$o zw@2dSdmRi-x}_t9_BVvlB;d-Vd1j0(azig}b$x{X9*@oQbK5KhNrAebCO zRhwfMK{8({S36=z;yLC}|EBYdtRkRrrSRxv6au&~djvKLc(BNIR_Q?C-uBdtbmzX` zJ`++nJ*vBd;V}u0tLh#-{bSb-?|*-7+$hAifC&ezh5*JQZD6W&wt1|W)SHqw*=9bOnIJExrggiJJDc3ANupoA_9c_E>L!%4_CqcuM|(MPc}~7^H>2w1I&n!GDt)w;7l|18uJfodG-rRg&`w^=fyjK zEA8&D&UydT8Ql-B*0UDCBG;gYS);A#=t|{V(3tUMO7Gv}?=bwUpZqFFYA+S|jUn_+a$X$NDzPHbs+#B~W}9oeRWtW1H2 zI!th4#2=-MKen^%5c-Er;qi&JfJE|Gj+@t`%m1cH&-hf3TM(DG=ez+F(Vu;P<04egZ!5EkaD*qSt%gg6qSSp zyX9IWo!6&v26zx9bSO~W!6Uy#>xJ>agfiNl4@(Ao%|1YAnkxPx$`D`8=Ec6M73~49 zkOsvD^=_5Vqm5EVwa1`U

o*l)21^Eay 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 literal 0 HcmV?d00001