Created
August 20, 2011 19:03
-
-
Save ussy/1159506 to your computer and use it in GitHub Desktop.
SBMCounter for KeySnail
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var PLUGIN_INFO = | |
<KeySnailPlugin> | |
<name>SBMCounter</name> | |
<name lang="ja">SBMCounter</name> | |
<description>Social Bookmark Counter</description> | |
<description lang="ja">ソーシャルブックマークカウンタ</description> | |
<version>0.1.0</version> | |
<!--<iconURL></iconURL>--> | |
<!--<updateURL></updateURL>--> | |
<author mail="[email protected]" homepage="http://www.pshared.net/">ussy</author> | |
<license>The MIT License</license> | |
<license lang="ja">MIT ライセンス</license> | |
<minVersion>1.8.0</minVersion> | |
<include>main</include> | |
<provides> | |
<ext>sbmCounter</ext> | |
</provides> | |
</KeySnailPlugin>; | |
// ================ Options ====================== // | |
let pOptions = plugins.setupOptions("sbm_counter", { | |
"enable": { preset: [ | |
"hatebu", | |
"delicious" | |
]}, | |
"cache_size": { preset: 50 }, | |
"cache_time": { preset: 5 * 60 * 1000 }, | |
"ignores": { preset: [ | |
/^about:/, | |
/^chrome:/, | |
/^file:/, | |
/^https:/, | |
/^http:\/\/(?:127\.|10\.|172\.16\.|192\.168\.).*/, | |
/^http:\/\/[^\.]+\//, | |
/^http:\/\/www\.google\.(com|co\.jp)\/search/ | |
]}, | |
"rescues": { preset: [ | |
/^https:\/\/developer\.mozilla\.org\//, | |
/^https:\/\/.+?\.github\.com\// | |
]} | |
}); | |
// ============================================================ // | |
// $U | |
// ============================================================ // | |
const $U = { | |
createElement: function (name, attrs, childs) { | |
let elem = document.createElement(name); | |
if (attrs) | |
for (let [k, v] in Iterator(attrs)) | |
elem.setAttribute(k, v); | |
if (childs) | |
for (let [, v] in Iterator(childs)) | |
elem.appendChild(v); | |
return elem; | |
}, | |
insertAfter: | |
function insertAfter(parent, node, referenceNode) { | |
parent.insertBefore(node, referenceNode.nextSibling); | |
} | |
}; | |
var sbmCounter = | |
(function () { | |
const Cc = Components.classes; | |
const Ci = Components.interfaces; | |
function toHexString(charCode) { | |
return ("0" + charCode.toString(16)).slice(-2); | |
} | |
function md5(s) { | |
let converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"]. | |
createInstance(Ci.nsIScriptableUnicodeConverter); | |
converter.charset = "UTF-8"; | |
let result = {}; | |
let data = converter.convertToByteArray(s, result); | |
let ch = Cc["@mozilla.org/security/hash;1"].createInstance(Ci.nsICryptoHash); | |
ch.init(ch.MD5); | |
ch.update(data, data.length); | |
let hash = ch.finish(false); | |
return [toHexString(hash.charCodeAt(i)) for (i in hash)].join(""); | |
} | |
function CacheItem(key, value, seq) { | |
this.key = key; | |
this.value = value; | |
this.seq = seq; | |
} | |
function LRUCache(maxSize) { | |
this.items = {}; | |
this.count = 0; | |
this.seq = 0; | |
this.maxSize = maxSize || -1; | |
this.purgeSize = Math.round(this.maxSize * 0.75); | |
} | |
LRUCache.prototype = { | |
get: function get(key) { | |
let item = this.items[key]; | |
return item ? item.value : null; | |
}, | |
set: function set(key, value) { | |
let item = this.items[key]; | |
if (!item) { | |
this.count++; | |
if (this.count > this.maxSize) { | |
this.purge(); | |
} | |
} | |
this.items[key] = new CacheItem(key, value, this.seq++); | |
}, | |
merge: function merge(key, dest) { | |
let src = this.get(key); | |
for (let prop in dest) { | |
let value = dest[prop]; | |
if (value === null) { | |
delete src[prop]; | |
} else { | |
src[prop] = value; | |
} | |
} | |
this.set(key, src); | |
}, | |
purge: function purge() { | |
let temps = []; | |
for (let key in this.items) { | |
let item = this.items[key]; | |
temps.push(item); | |
} | |
temps = temps.sort(function(a, b) { | |
return a.seq < b.seq; | |
}); | |
while (temps.length > this.purgeSize) { | |
let item = temps.pop(); | |
delete this.items[item.key]; | |
this.count--; | |
} | |
} | |
}; | |
function Counter(params) { | |
var cacheSize = pOptions["cache_size"]; | |
this.cache = new LRUCache(cacheSize); | |
this.label = params.label; | |
this.requestCountUrl = params.requestCountUrl; | |
this.requestCommentUrl = params.requestCommentUrl; | |
this.getLinkUrl = params.getLinkUrl; | |
this.handleRequestCount = params.handleRequestCount; | |
this.handleRequestComment = params.handleRequestComment; | |
} | |
Counter.prototype = { | |
isValidCache: function isValidCache(value) { | |
if (!value) { | |
return false; | |
} | |
let cacheTime = pOptions["cache_time"]; | |
return value.requestTime > +new Date - cacheTime; | |
}, | |
hasCountCache: function hasCountCache(url) { | |
let info = this.cache.get(url); | |
return this.isValidCache(info) && info["count"] !== undefined; | |
}, | |
hasCommentCache: function hasCommentCache(url) { | |
let info = this.cache.get(url); | |
return this.isValidCache(info) && info["comments"] !== undefined; | |
}, | |
showCount: function request(url) { | |
this.abort(); | |
if (this.hasCountCache(url)) { | |
this.refreshStatusBar(this.cache.get(url).count); | |
return; | |
} | |
this.refreshStatusBar("*"); | |
this.xhr = new XMLHttpRequest(); | |
this.xhr.open("GET", this.requestCountUrl(url), true); | |
var self = this; | |
this.xhr.onreadystatechange = function(aEvt) { | |
if (self.xhr.readyState == 4) { | |
if (self.xhr.status == 200) { | |
let count = self.handleRequestCount(self.xhr.responseText); | |
self.refreshStatusBar(count); | |
self.cache.set(url, { | |
requestTime: +new Date, | |
count: count | |
}); | |
} | |
self.abort(); | |
} | |
}; | |
this.xhr.send(null); | |
}, | |
abort: function abort() { | |
if (this.xhr != null) { | |
this.xhr.abort(); | |
this.xhr = null; | |
} | |
}, | |
refreshStatusBar: function(count) { | |
this.label.value = count; | |
} | |
}; | |
const CONTAINER_ID = "keysnail-sbmcounter-container"; | |
const HATEBU_STATUS_ID = "keysnail-sbmcounter-hatebu-status"; | |
const DELICIOUS_STATUS_ID = "keysnail-sbmCounter-delicious-status"; | |
var statusbar = document.getElementById("status-bar"); | |
var statusbarPanel = document.getElementById("keysnail-status"); | |
var container = document.getElementById(CONTAINER_ID); | |
var hatebuStatusLabel = document.getElementById(HATEBU_STATUS_ID); | |
var deliciousStatusLabel = document.getElementById(DELICIOUS_STATUS_ID); | |
var counters = []; | |
if (container) { | |
while(container.firstChild) { | |
container.removeChild(element.firstChild); | |
} | |
container.parentNode.removeChild(container); | |
} | |
container = $U.createElement("statusbarpanel", { | |
align: "center", | |
id: CONTAINER_ID | |
}); | |
let box, icon; | |
if (pOptions["enable"].indexOf("hatebu") != -1) { | |
// ================ | |
// Hatebu | |
// ================ | |
box = $U.createElement("hbox", { | |
align: "center", | |
flex: 1 | |
}, [ | |
icon = $U.createElement("image", { | |
src: 'data:image/vnd.microsoft.icon;base64,' + | |
'AAABAAQAEBAQAAAAAAAoAQAARgAAABgYAAAAAAAAiAkAAG4BAAAgIAAAAAAAAKgQAAD2CgAAQEAA' + | |
'AAAAAAAoQgAAnhsAACgAAAAQAAAAIAAAAAEABAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA' + | |
'53lSAP///wDJXyoA+qWFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAABMzMzMzMzMAQREREREREwBBERERERETAEERIiIiERMAQREiERIhEwBBESIREi' + | |
'ETAEERIhESIRMAQREiIiIREwBBESIRIhETAEERIhEiERMAQREiIiEREwBBERERERETAEERERERER' + | |
'MAREREREREQQAAAAAAAAAAD//wAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAA' + | |
'gAEAAIABAACAAQAAgAEAAIABAAD//wAAKAAAABgAAAAwAAAAAQAgAAAAAAAACQAAAAAAAAAAAAAA' + | |
'AAAAAAAAAKlkK1+pZCvvqWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCvvqWQrX6lkK++pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr76lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD////////////////////////////59fH/' + | |
'6djK/86nh/+pZCv/qWQr/7N3Rf/06+T/+fXx/8meev+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/++imD////////////////////////////////////////////Zu6L/qWQr/9Sx' + | |
'lf///////////+nYyv+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD/////' + | |
'////////////6djK/+nYyv/59fH/////////////////rm04/76KYP///////////9m7ov+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD/////////////////qWQr/6lkK/+5' + | |
'gVL/////////////////vopg/6lkK/+zd0X/vopg/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/++imD/////////////////qWQr/6lkK//UsZX/////////////////rm04' + | |
'/76KYP///////////+nYyv+pZCv/qWQr/6lkK/+pZCv/qWQr/7V3RP+5fk3/uX5N/7l+Tf/Knnn/' + | |
'///////////////////////////////////////////hyLP/uX5N/8qeef///////////+3e0v+5' + | |
'fk3/uX5N/7l+Tf+5fk3/tXdE/7l+Tf+/h1n/v4dZ/7+HWf/PpYL/////////////////////////' + | |
'/////////////+fSwP+/h1n/v4dZ/8+lgv///////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/uX5N' + | |
'/7l+Tf+/h1n/v4dZ/7+HWf/PpYL/////////////////z6WC/9u7of/79/T////////////TrIz/' + | |
'v4dZ/8+lgv///////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/uX5N/7l+Tf+/h1n/v4dZ/7+HWf/P' + | |
'pYL/////////////////v4dZ/7+HWf/r2cv////////////n0sD/v4dZ/8+lgv///////////+/h' + | |
'1f+/h1n/v4dZ/7+HWf+/h1n/uX5N/7l+Tf+/h1n/v4dZ/7+HWf/PpYL/////////////////38Os' + | |
'/+vZy//////////////////jyrb/v4dZ/8+lgv///////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/' + | |
'uX5N/7l+Tf+/h1n/v4dZ/7+HWf/PpYL////////////////////////////////////////////P' + | |
'pYL/v4dZ/8+lgv///////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/uX5N/7l+Tf+/h1n/v4dZ/7+H' + | |
'Wf/PpYL////////////////////////////79/T/69nL/8+lgv+/h1n/v4dZ/8udeP/v4dX/7+HV' + | |
'/+PKtv+/h1n/v4dZ/7+HWf+/h1n/uX5N/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/uX5N/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/7l+Tf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/uX5N/7N0QO+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/s3RA76lkK1+zdEDv' + | |
'uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5' + | |
'fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+zdEDvqWQrX4AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAgAABACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAACpZCsP' + | |
'qWQrv6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCu/qWQrD6lkK7+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCu/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/6djK/////////////////////////////////+7h1//p2Mr/3sSv' + | |
'/76KYP+pZCv/qWQr/6lkK/+pZCv/yZ56//n18f/06+T/yZ56/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK//p2Mr/////////////////////////////' + | |
'/////////////////////////97Er/+pZCv/qWQr/7N3Rf/////////////////59fH/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/+nYyv//////////' + | |
'/////////////////////////////////////////////////8meev+pZCv/vopg////////////' + | |
'//////////+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/6djK/////////////////+nYyv/UsZX/1LGV/+TOvP//////////////////////6djK/6lk' + | |
'K/+pZCv/7uHX////////////3sSv/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK//p2Mr/////////////////1LGV/6lkK/+pZCv/qWQr/9m7ov//////' + | |
'///////////p2Mr/qWQr/6lkK/+pZCv/vopg/76KYP+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/+nYyv/////////////////UsZX/qWQr/6lk' + | |
'K/+pZCv/2bui/////////////////+nYyv+pZCv/qWQr/+nYyv/p2Mr/6djK/+nYyv+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/6djK////////////' + | |
'/////97Er/++imD/w5Rt/9m7ov/59fH/////////////////2bui/6lkK/+pZCv/////////////' + | |
'/////////6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+0dUL/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf/v4dX///////////////////////////////////////////////////////Po3//DjmP/v4dZ' + | |
'/7+HWf//////////////////////v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/tHVC/7R1Qv+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/+/h1f/////////////////////////////////////////////////j' + | |
'yrb/w45j/7+HWf+/h1n/v4dZ//////////////////////+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+0dUL/tHVC/7+HWf+/h1n/v4dZ/7+HWf+/h1n/7+HV//////////////////fw6v/v4dX/8+jf' + | |
'//////////////////v39P/XtJf/v4dZ/7+HWf+/h1n//////////////////////7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7R1Qv+0dUL/v4dZ/7+HWf+/h1n/v4dZ/7+HWf/v4dX/////////////' + | |
'////38Os/7+HWf+/h1n/06yM//////////////////v39P+/h1n/v4dZ/7+HWf//////////////' + | |
'////////v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/tHVC/7R1Qv+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/+/h1f/////////////////fw6z/v4dZ/7+HWf/LnXj//////////////////////8udeP+/h1n/' + | |
'v4dZ//////////////////////+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+0dUL/tHVC/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/7+HV/////////////////+/h1f/fw6z/38Os//fw6v//////////////' + | |
'////////x5Zt/7+HWf+/h1n//////////////////////7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7R1Qv+0dUL/v4dZ/7+HWf+/h1n/v4dZ/7+HWf/v4dX/////////////////////////////////' + | |
'//////////////////////fw6v+/h1n/v4dZ/7+HWf//////////////////////v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/tHVC/7R1Qv+/h1n/v4dZ/7+HWf+/h1n/v4dZ/+/h1f//////////////' + | |
'///////////////////////////////////79/T/y514/7+HWf+/h1n/v4dZ////////////////' + | |
'//////+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+0dUL/tHVC/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'7+HV//////////////////////////////////Po3//v4dX/48q2/8eWbf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/7+HV/+/h1f/v4dX/7+HV/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7R1Qv+0dUL/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'tHVC/7R1Qv+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+0dUL/tHVC/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7R1Qv+0dUL/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/tHVC/7R1Qv+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+0' + | |
'dUL/snM//7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7JzP/+qZi6/uoBQ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+6gFD/qmYuv6lkKw+qZi6/snM//7R1Qv+0dUL/tHVC/7R1' + | |
'Qv+0dUL/tHVC/7R1Qv+0dUL/tHVC/7R1Qv+0dUL/tHVC/7R1Qv+0dUL/tHVC/7R1Qv+0dUL/tHVC' + | |
'/7R1Qv+0dUL/tHVC/7R1Qv+0dUL/tHVC/7R1Qv+0dUL/snM//6pmLr+pZCsPgAAAAQAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA' + | |
'AAEoAAAAQAAAAIAAAAABACAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpZCsPqWQr' + | |
'f6lkK9+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCvfqWQr' + | |
'f6lkKw8AAAAAAAAAAAAAAACpZCsPqWQrz6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCvPqWQrDwAAAACpZCsPqWQrz6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK8+pZCsPqWQrf6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQrf6lkK9+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK9+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/7mBUv/p2Mr/6djK/+nYyv/p2Mr/6djK/+nYyv/p2Mr/' + | |
'6djK/+nYyv/p2Mr/6djK/+nYyv/p2Mr/3sSv/9Sxlf/UsZX/yZ56/7mBUv+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+zd0X/2bui/+nYyv/kzrz/zqeH/65t' + | |
'OP+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD/' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'////////////////////+fXx/97Er/+zd0X/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+5gVL/+fXx///////////////////////u4df/rm04/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/vopg////////////////////////////////////////' + | |
'/////////////////////////////////////////////////////////////////////////9Sx' + | |
'lf+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/9Ovk////////////////////////////////' + | |
'/97Er/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/76KYP//' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'////////////////////////////////////////3sSv/6lkK/+pZCv/qWQr/6lkK/+pZCv/vopg' + | |
'////////////////////////////////////////////qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD/////////////////////////////////////////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'///////DlG3/qWQr/6lkK/+pZCv/qWQr/76KYP//////////////////////////////////////' + | |
'/////6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/vopg////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'////////////////////////////////////////////9Ovk/6lkK/+pZCv/qWQr/6lkK/+5gVL/' + | |
'//////////////////////////////////////n18f+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/76KYP//////////////////////////////////////////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'//////////+5gVL/qWQr/6lkK/+pZCv/qWQr/+7h1//////////////////////////////////Z' + | |
'u6L/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD/////' + | |
'//////////////////////////////////////+pZCv/qWQr/6lkK/+pZCv/qWQr/7N3Rf/Jnnr/' + | |
'+fXx////////////////////////////////////////////zqeH/6lkK/+pZCv/qWQr/6lkK/+z' + | |
'd0X/7uHX///////////////////////exK//qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/vopg////////////////////////////////////////////' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/7mBUv//////////////////////////////////' + | |
'/////////9Sxlf+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK//DlG3/1LGV/9Sxlf+5gVL/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/76KYP//////' + | |
'/////////////////////////////////////6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/7uHX///////////////////////////////////////UsZX/qWQr/6lkK/+pZCv/qWQr/6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/++imD///////////////////////////////////////////+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/+nYyv//////////////////////////////' + | |
'////////1LGV/6lkK/+pZCv/qWQr/6lkK//UsZX/1LGV/9Sxlf/UsZX/1LGV/9Sxlf/UsZX/yZ56' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/vopg////////' + | |
'////////////////////////////////////qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/65t' + | |
'OP/59fH//////////////////////////////////////8meev+pZCv/qWQr/6lkK/+pZCv/////' + | |
'/////////////////////////////////+nYyv+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/76KYP///////////////////////////////////////////6lk' + | |
'K/+pZCv/qWQr/6lkK/+pZCv/qWQr/65tOP/exK//////////////////////////////////////' + | |
'//////+zd0X/qWQr/6lkK/+pZCv/qWQr///////////////////////////////////////p2Mr/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/++imD/////////' + | |
'///////////////////////////////////UsZX/1LGV/9Sxlf/UsZX/2bui/+nYyv//////////' + | |
'///////////////////////////////////////p2Mr/qWQr/6lkK/+pZCv/qWQr/6lkK///////' + | |
'////////////////////////////////6djK/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/z6WC////////////////////////////////////////////////' + | |
'///////////////////////////////////////////////////////////////////////79/T/' + | |
'x5Zt/7+HWf+/h1n/v4dZ/7+HWf+/h1n//////////////////////////////////////+/h1f+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lk' + | |
'K/+5fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/8+lgv//////////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'///////////////////////////79/T/y514/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ////////' + | |
'///////////////////////////////v4dX/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf/PpYL/////////////////////////////////////////////////' + | |
'//////////////////////////////////////////////////////v39P/n0sD/x5Zt/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf//////////////////////////////////////7+HV/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr' + | |
'/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/z6WC////////////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'//////////fw6v/LnXj/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/////////' + | |
'/////////////////////////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/8+lgv//////////////////////////////////////////////////' + | |
'/////////////////////////////////////////////////////////+fSwP/DjmP/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ///////////////////////////////////////v4dX/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/' + | |
'uX5N/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf/PpYL/////////////' + | |
'///////////////////////////////PpYL/z6WC/8+lgv/XtJf/48q2//fw6v//////////////' + | |
'////////////////////////8+jf/8OOY/+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf//////////' + | |
'////////////////////////////7+HV/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/z6WC////////////////////////////////////////////v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/69nL///////////////////////////////////////fw6z/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n//////////////////////////////////////+/h1f+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5' + | |
'fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/8+lgv//////////////' + | |
'/////////////////////////////7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/8udeP//////////' + | |
'////////////////////////////9/Dq/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ////////////' + | |
'///////////////////////////v4dX/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf/PpYL///////////////////////////////////////////+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n////////////////////////////////////////////DjmP/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf//////////////////////////////////////7+HV/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+' + | |
'Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/z6WC////////////////' + | |
'////////////////////////////v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/06yM////////////' + | |
'////////////////////////////////z6WC/7+HWf+/h1n/v4dZ/7+HWf+/h1n/////////////' + | |
'/////////////////////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/8+lgv///////////////////////////////////////////7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/z6WC//v39P///////////////////////////////////////////8udeP+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ///////////////////////////////////////v4dX/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf/PpYL/////////////////' + | |
'///////////////////////////v4dX/7+HV/+/h1f/v4dX/+/f0////////////////////////' + | |
'//////////////////////////////+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf//////////////' + | |
'////////////////////////7+HV/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/z6WC////////////////////////////////////////////////////////' + | |
'///////////////////////////////////////////////////////////////z6N//v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n//////////////////////////////////////+/h1f+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/8+lgv//////////////////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'////////////////////////17SX/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ////////////////' + | |
'///////////////////////v4dX/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf/PpYL/////////////////////////////////////////////////////////' + | |
'////////////////////////////////////////////////////////59LA/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf//////////////////////////////////////7+HV/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/z6WC////////////////////' + | |
'////////////////////////////////////////////////////////////////////////////' + | |
'////////////59LA/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/////////////////' + | |
'/////////////////////+/h1f+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/8+lgv//////////////////////////////////////////////////////////' + | |
'///////////////////////////////////////r2cv/z6WC/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ///////////////////////////////////////v4dX/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf/LnXj/7+HV/+/h1f/v4dX/7+HV' + | |
'/+/h1f/v4dX/7+HV/+/h1f/v4dX/7+HV/+/h1f/v4dX/7+HV/+PKtv/fw6z/38Os/8+lgv/DjmP/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf/PpYL/z6WC/8+lgv/P' + | |
'pYL/z6WC/8+lgv/PpYL/y514/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/uX5N/6lkK/+pZCv/uX5N/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7l+Tf+pZCv/qWQr/7l+Tf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+5fk3/qWQr/6lkK/+5fk3/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/uX5N/6lkK/+pZCvftHVC/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7R1Qv+pZCvfqWQrf6pmLf+9hFb/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/72EVv+qZi3/qWQrf6lkKw+pZCvPrWoz/72EVv+/' + | |
'h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+H' + | |
'Wf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ' + | |
'/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/' + | |
'v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/7+HWf+/h1n/v4dZ/72EVv+t' + | |
'ajP/qWQrz6lkKw8AAAAAqWQrH6lkK8+qZi3/tHVC/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+' + | |
'Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N' + | |
'/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/' + | |
'uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5fk3/uX5N/7l+Tf+5' + | |
'fk3/uX5N/7l+Tf+5fk3/uX5N/7R1Qv+qZi3/qWQrz6lkKw8AAAAAAAAAAAAAAACpZCsPqWQrf6lk' + | |
'K9+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr' + | |
'/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/' + | |
'qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+p' + | |
'ZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCv/qWQr/6lkK/+pZCvfqWQrf6lk' + | |
'Kw8AAAAAAAAAAPAAAAAAAAAPwAAAAAAAAAOAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAHAAAAAAAAA' + | |
'A/AAAAAAAAAP' | |
}), | |
hatebuStatusLabel = $U.createElement("label", { | |
id: HATEBU_STATUS_ID, | |
flex: 1, | |
value: "N" | |
}) | |
]); | |
let gHatebu = new Counter({ | |
label: hatebuStatusLabel, | |
requestCountUrl: function(url) { | |
return util.format("http://api.b.st-hatena.com/entry.count?url=%s", encodeURIComponent(url)); | |
}, | |
requestCommentUrl: function(url) { | |
return util.format("http://b.hatena.ne.jp/entry/jsonlite/?url=%s", encodeURIComponent(url)); | |
}, | |
getLinkUrl: function(url) { | |
return util.format("http://b.hatena.ne.jp/entry/%s", url); | |
}, | |
handleRequestCount: function(responseText) { | |
if (responseText == "") { | |
return 0; | |
} | |
try { | |
return parseInt(responseText); | |
} catch (e) { | |
return 0; | |
} | |
}, | |
handleRequestComment: function(responseText) { | |
if (responseText == "null") { | |
return []; | |
} | |
let json = JSON.parse(responseText); | |
return json.bookmarks.map(function(bookmark) { | |
return { | |
"user": bookmark["user"], | |
"tags": bookmark["tags"], | |
"comment": bookmark["comment"] | |
}; | |
}); | |
} | |
}); | |
counters.push(gHatebu); | |
container.appendChild(box); | |
} | |
// ================ | |
// Delicious | |
// ================ | |
if (pOptions["enable"].indexOf("delicious") != -1) { | |
box = $U.createElement("hbox", { | |
align: "center", | |
flex: 1 | |
}, [ | |
icon = $U.createElement("image", { | |
src: 'data:image/x-icon;base64,' + | |
'AAABAAIAEBAAAAEAGABoAwAAJgAAABAQAAABACAAaAQAAI4DAAAoAAAAEAAAACAAAAABABgAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0tLT0tLT0tLT0tLT' + | |
'0tLT0tLT0tLT0tLTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0tLT0tLT0tLT0tLT0tLT0tLT0tLT' + | |
'0tLTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0tLT0tLT0tLT0tLT0tLT0tLT0tLT0tLTAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAA0tLT0tLT0tLT0tLT0tLT0tLT0tLT0tLTAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAA0tLT0tLT0tLT0tLT0tLT0tLT0tLT0tLTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'0tLT0tLT0tLT0tLT0tLT0tLT0tLT0tLTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0tLT0tLT0tLT' + | |
'0tLT0tLT0tLT0tLT0tLTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0tLT0tLT0tLT0tLT0tLT0tLT' + | |
'0tLT0tLT////////////////////////////////0HQy0HQy0HQy0HQy0HQy0HQy0HQy0HQy////' + | |
'////////////////////////////0HQy0HQy0HQy0HQy0HQy0HQy0HQy0HQy////////////////' + | |
'////////////////0HQy0HQy0HQy0HQy0HQy0HQy0HQy0HQy////////////////////////////' + | |
'////0HQy0HQy0HQy0HQy0HQy0HQy0HQy0HQy////////////////////////////////0HQy0HQy' + | |
'0HQy0HQy0HQy0HQy0HQy0HQy////////////////////////////////0HQy0HQy0HQy0HQy0HQy' + | |
'0HQy0HQy0HQy////////////////////////////////0HQy0HQy0HQy0HQy0HQy0HQy0HQy0HQy' + | |
'////////////////////////////////0HQy0HQy0HQy0HQy0HQy0HQy0HQy0HQyAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA' + | |
'AAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA' + | |
'/wAAAP8AAAD/AAAA/9LS0//S0tP/0tLT/9LS0//S0tP/0tLT/9LS0//S0tP/AAAA/wAAAP8AAAD/' + | |
'AAAA/wAAAP8AAAD/AAAA/wAAAP/S0tP/0tLT/9LS0//S0tP/0tLT/9LS0//S0tP/0tLT/wAAAP8A' + | |
'AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/0tLT/9LS0//S0tP/0tLT/9LS0//S0tP/0tLT/9LS' + | |
'0/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/9LS0//S0tP/0tLT/9LS0//S0tP/0tLT' + | |
'/9LS0//S0tP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP/S0tP/0tLT/9LS0//S0tP/' + | |
'0tLT/9LS0//S0tP/0tLT/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/0tLT/9LS0//S' + | |
'0tP/0tLT/9LS0//S0tP/0tLT/9LS0/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/9LS' + | |
'0//S0tP/0tLT/9LS0//S0tP/0tLT/9LS0//S0tP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA' + | |
'/wAAAP/S0tP/0tLT/9LS0//S0tP/0tLT/9LS0//S0tP/0tLT////////////////////////////' + | |
'////////////////0HQy/9B0Mv/QdDL/0HQy/9B0Mv/QdDL/0HQy/9B0Mv//////////////////' + | |
'/////////////////////////9B0Mv/QdDL/0HQy/9B0Mv/QdDL/0HQy/9B0Mv/QdDL/////////' + | |
'///////////////////////////////////QdDL/0HQy/9B0Mv/QdDL/0HQy/9B0Mv/QdDL/0HQy' + | |
'////////////////////////////////////////////0HQy/9B0Mv/QdDL/0HQy/9B0Mv/QdDL/' + | |
'0HQy/9B0Mv///////////////////////////////////////////9B0Mv/QdDL/0HQy/9B0Mv/Q' + | |
'dDL/0HQy/9B0Mv/QdDL////////////////////////////////////////////QdDL/0HQy/9B0' + | |
'Mv/QdDL/0HQy/9B0Mv/QdDL/0HQy////////////////////////////////////////////0HQy' + | |
'/9B0Mv/QdDL/0HQy/9B0Mv/QdDL/0HQy/9B0Mv//////////////////////////////////////' + | |
'/////9B0Mv/QdDL/0HQy/9B0Mv/QdDL/0HQy/9B0Mv/QdDL/AAAAAAAAAAAAAAAAAAAAAAAAAAAA' + | |
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==' | |
}), | |
deliciousStatusLabel = $U.createElement("label", { | |
id: DELICIOUS_STATUS_ID, | |
flex: 1, | |
value: "N" | |
}) | |
]); | |
let gDelicious = new Counter({ | |
label: deliciousStatusLabel, | |
requestCountUrl: function(url) { | |
return util.format("http://feeds.delicious.com/v2/json/urlinfo/blogbadge?url=%s", encodeURIComponent(url)); | |
}, | |
requestCommentUrl: function(url) { | |
return util.format("http://feeds.delicious.com/v2/json/url/%s", md5(url)); | |
}, | |
getLinkUrl: function(url) { | |
return util.format("http://www.delicious.com/url/%s", md5(url)); | |
}, | |
handleRequestCount: function(responseText) { | |
if (!responseText) { | |
return 0; | |
} | |
let json = JSON.parse(responseText); | |
if (json.length == 0) { | |
return 0; | |
} | |
return json[0]["total_posts"]; | |
}, | |
handleRequestComment: function(responseText) { | |
if (!responseText) { | |
return []; | |
} | |
let json = JSON.parse(responseText); | |
if (json.length == 0) { | |
return []; | |
} | |
return json.map(function(bookmark) { | |
return { | |
"user": bookmark["a"], | |
"tags": bookmark["t"], | |
"comment": bookmark["n"] | |
}; | |
}); | |
} | |
}); | |
counters.push(gDelicious); | |
container.appendChild(box); | |
} | |
$U.insertAfter(statusbar, container, statusbarPanel); | |
counters.forEach(function(counter) { | |
counter.label.parentNode.onclick = function(event) { | |
let url = counter.getLinkUrl(gBrowser.selectedBrowser.contentDocument.location.href); | |
openUILinkIn(url, "tab"); | |
}; | |
}); | |
var self = { | |
ignore: function ignore(url) { | |
let ignores = pOptions["ignores"]; | |
let ignore = ignores.some(function(ignore) { | |
return ignore.test(url); | |
}); | |
if (!ignore) { | |
return false; | |
} | |
let rescues = pOptions["rescues"]; | |
return !rescues.some(function(rescue) { | |
return rescue.test(url); | |
}); | |
}, | |
showCount: function request(url) { | |
if (self.ignore(url)) { | |
self.disable(); | |
return; | |
} | |
counters.forEach(function(counter) { | |
counter.showCount(url); | |
}); | |
}, | |
disable: function disable() { | |
counters.forEach(function(counter) { | |
counter.label.value = "N"; | |
}); | |
} | |
}; | |
return self; | |
})(); | |
if (my.handleLocationChange) { | |
hook.removeHook("LocationChange", my.handleLocationChange); | |
}; | |
my.handleLocationChange = function handleLocationChange(aNsURI) { | |
if (aNsURI || aNsURI.spec) { | |
var pbs = Cc["@mozilla.org/privatebrowsing;1"] | |
.getService(Components.interfaces.nsIPrivateBrowsingService); | |
if (pbs.privateBrowsingEnabled) { | |
sbmCounter.disable(); | |
} else { | |
var url = aNsURI.spec; | |
sbmCounter.showCount(url); | |
} | |
} | |
}; | |
hook.addToHook("LocationChange", my.handleLocationChange); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment