// ==UserScript==
// @name Google Extra
// @description Displays results for google image search, video search, wikipedia search and dictionary.com search alongside normal google searches.
// @namespace znerp
// @include http://www.google.*/search?*q=*
// @include https://www.google.*/search?*q=*
// @include https://www.google.*/#*
// @exclude http://www.google.*/search?*tbm=*
// @exclude https://www.google.*/search?*tbm=*
// @grant GM_registerMenuCommand
// @grant GM_getValue
// @grant GM_xmlhttpRequest
// @version 1.0
// ==/UserScript==
var show = "data:image/gif;base64,R0lGODlhDAAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD%2FAP%2F%2FAAAA%2F%"+
"2F8A%2FwD%2F%2F%2F%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA%2FwAzAAAzMwAzZgAzmQAzzAAz%2FwBmAABmMwBmZgBmmQBmzABm%2"+
"FwCZAACZMwCZZgCZmQCZzACZ%2FwDMAADMMwDMZgDMmQDMzADM%2FwD%2FAAD%2FMwD%2FZgD%2FmQD%2FzAD%2F%2FzMAADMAMz"+
"MAZjMAmTMAzDMA%2FzMzADMzMzMzZjMzmTMzzDMz%2FzNmADNmMzNmZjNmmTNmzDNm%2FzOZADOZMzOZZjOZmTOZzDOZ%2FzPMAD"+
"PMMzPMZjPMmTPMzDPM%2FzP%2FADP%2FMzP%2FZjP%2FmTP%2FzDP%2F%2F2YAAGYAM2YAZmYAmWYAzGYA%2F2YzAGYzM2YzZmYz"+
"mWYzzGYz%2F2ZmAGZmM2ZmZmZmmWZmzGZm%2F2aZAGaZM2aZZmaZmWaZzGaZ%2F2bMAGbMM2bMZmbMmWbMzGbM%2F2b%2FAGb%2F"+
"M2b%2FZmb%2FmWb%2FzGb%2F%2F5kAAJkAM5kAZpkAmZkAzJkA%2F5kzAJkzM5kzZpkzmZkzzJkz%2F5lmAJlmM5lmZplmmZlmzJ"+
"lm%2F5mZAJmZM5mZZpmZmZmZzJmZ%2F5nMAJnMM5nMZpnMmZnMzJnM%2F5n%2FAJn%2FM5n%2FZpn%2FmZn%2FzJn%2F%2F8wAAM"+
"wAM8wAZswAmcwAzMwA%2F8wzAMwzM8wzZswzmcwzzMwz%2F8xmAMxmM8xmZsxmmcxmzMxm%2F8yZAMyZM8yZZsyZmcyZzMyZ%2F8"+
"zMAMzMM8zMZszMmczMzMzM%2F8z%2FAMz%2FM8z%2FZsz%2Fmcz%2FzMz%2F%2F%2F8AAP8AM%2F8AZv8Amf8AzP8A%2F%2F8zAP"+
"8zM%2F8zZv8zmf8zzP8z%2F%2F9mAP9mM%2F9mZv9mmf9mzP9m%2F%2F%2BZAP%2BZM%2F%2BZZv%2BZmf%2BZzP%2BZ%2F%2F%2"+
"FMAP%2FMM%2F%2FMZv%2FMmf%2FMzP%2FM%2F%2F%2F%2FAP%2F%2FM%2F%2F%2FZv%2F%2Fmf%2F%2FzP%2F%2F%2FyH5BAEAAA"+
"8ALAAAAAAMAAwABwgpAB8IHEiwoEAAAAwSRKhwIMOGDx4uREix4sGKGA1KVLhRY0KIHSEODAgAOw%3D%3D";
var hide = "data:image/gif;base64,R0lGODlhDAAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD%2FAP%2F%2FAAAA%2F%"+
"2F8A%2FwD%2F%2F%2F%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA%2FwAzAAAzMwAzZgAzmQAzzAAz%2FwBmAABmMwBmZgBmmQBmzABm%2"+
"FwCZAACZMwCZZgCZmQCZzACZ%2FwDMAADMMwDMZgDMmQDMzADM%2FwD%2FAAD%2FMwD%2FZgD%2FmQD%2FzAD%2F%2FzMAADMAMz"+
"MAZjMAmTMAzDMA%2FzMzADMzMzMzZjMzmTMzzDMz%2FzNmADNmMzNmZjNmmTNmzDNm%2FzOZADOZMzOZZjOZmTOZzDOZ%2FzPMAD"+
"PMMzPMZjPMmTPMzDPM%2FzP%2FADP%2FMzP%2FZjP%2FmTP%2FzDP%2F%2F2YAAGYAM2YAZmYAmWYAzGYA%2F2YzAGYzM2YzZmYz"+
"mWYzzGYz%2F2ZmAGZmM2ZmZmZmmWZmzGZm%2F2aZAGaZM2aZZmaZmWaZzGaZ%2F2bMAGbMM2bMZmbMmWbMzGbM%2F2b%2FAGb%2F"+
"M2b%2FZmb%2FmWb%2FzGb%2F%2F5kAAJkAM5kAZpkAmZkAzJkA%2F5kzAJkzM5kzZpkzmZkzzJkz%2F5lmAJlmM5lmZplmmZlmzJ"+
"lm%2F5mZAJmZM5mZZpmZmZmZzJmZ%2F5nMAJnMM5nMZpnMmZnMzJnM%2F5n%2FAJn%2FM5n%2FZpn%2FmZn%2FzJn%2F%2F8wAAM"+
"wAM8wAZswAmcwAzMwA%2F8wzAMwzM8wzZswzmcwzzMwz%2F8xmAMxmM8xmZsxmmcxmzMxm%2F8yZAMyZM8yZZsyZmcyZzMyZ%2F8"+
"zMAMzMM8zMZszMmczMzMzM%2F8z%2FAMz%2FM8z%2FZsz%2Fmcz%2FzMz%2F%2F%2F8AAP8AM%2F8AZv8Amf8AzP8A%2F%2F8zAP"+
"8zM%2F8zZv8zmf8zzP8z%2F%2F9mAP9mM%2F9mZv9mmf9mzP9m%2F%2F%2BZAP%2BZM%2F%2BZZv%2BZmf%2BZzP%2BZ%2F%2F%2"+
"FMAP%2FMM%2F%2FMZv%2FMmf%2FMzP%2FM%2F%2F%2F%2FAP%2F%2FM%2F%2F%2FZv%2F%2Fmf%2F%2FzP%2F%2F%2FyH5BAEAAA"+
"8ALAAAAAAMAAwABwgeAB8IHEiwoMGDCBMqNAigocOHAh9KBLCwosWLCwMCADs%3D";
var moveup = "data:image/gif;base64,R0lGODlhDAAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD%2FAP%2F%2FAAAA%2F%"+
"2F8A%2FwD%2F%2F%2F%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA%2FwAzAAAzMwAzZgAzmQAzzAAz%2FwBmAABmMwBmZgBmmQBmzABm%2"+
"FwCZAACZMwCZZgCZmQCZzACZ%2FwDMAADMMwDMZgDMmQDMzADM%2FwD%2FAAD%2FMwD%2FZgD%2FmQD%2FzAD%2F%2FzMAADMAMz"+
"MAZjMAmTMAzDMA%2FzMzADMzMzMzZjMzmTMzzDMz%2FzNmADNmMzNmZjNmmTNmzDNm%2FzOZADOZMzOZZjOZmTOZzDOZ%2FzPMAD"+
"PMMzPMZjPMmTPMzDPM%2FzP%2FADP%2FMzP%2FZjP%2FmTP%2FzDP%2F%2F2YAAGYAM2YAZmYAmWYAzGYA%2F2YzAGYzM2YzZmYz"+
"mWYzzGYz%2F2ZmAGZmM2ZmZmZmmWZmzGZm%2F2aZAGaZM2aZZmaZmWaZzGaZ%2F2bMAGbMM2bMZmbMmWbMzGbM%2F2b%2FAGb%2F"+
"M2b%2FZmb%2FmWb%2FzGb%2F%2F5kAAJkAM5kAZpkAmZkAzJkA%2F5kzAJkzM5kzZpkzmZkzzJkz%2F5lmAJlmM5lmZplmmZlmzJ"+
"lm%2F5mZAJmZM5mZZpmZmZmZzJmZ%2F5nMAJnMM5nMZpnMmZnMzJnM%2F5n%2FAJn%2FM5n%2FZpn%2FmZn%2FzJn%2F%2F8wAAM"+
"wAM8wAZswAmcwAzMwA%2F8wzAMwzM8wzZswzmcwzzMwz%2F8xmAMxmM8xmZsxmmcxmzMxm%2F8yZAMyZM8yZZsyZmcyZzMyZ%2F8"+
"zMAMzMM8zMZszMmczMzMzM%2F8z%2FAMz%2FM8z%2FZsz%2Fmcz%2FzMz%2F%2F%2F8AAP8AM%2F8AZv8Amf8AzP8A%2F%2F8zAP"+
"8zM%2F8zZv8zmf8zzP8z%2F%2F9mAP9mM%2F9mZv9mmf9mzP9m%2F%2F%2BZAP%2BZM%2F%2BZZv%2BZmf%2BZzP%2BZ%2F%2F%2"+
"FMAP%2FMM%2F%2FMZv%2FMmf%2FMzP%2FM%2F%2F%2F%2FAP%2F%2FM%2F%2F%2FZv%2F%2Fmf%2F%2FzP%2F%2F%2FyH5BAEAAA"+
"8ALAAAAAAMAAwABwgjAB8IHEiwoMGDAgEgTAhA4cGGEBc6lLgwYcUHExFmvMhRYEAAOw%3D%3D";
var movedown= "data:image/gif;base64,R0lGODlhDAAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD%2FAP%2F%2FAAAA%2F%"+
"2F8A%2FwD%2F%2F%2F%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA%2FwAzAAAzMwAzZgAzmQAzzAAz%2FwBmAABmMwBmZgBmmQBmzABm%2"+
"FwCZAACZMwCZZgCZmQCZzACZ%2FwDMAADMMwDMZgDMmQDMzADM%2FwD%2FAAD%2FMwD%2FZgD%2FmQD%2FzAD%2F%2FzMAADMAMz"+
"MAZjMAmTMAzDMA%2FzMzADMzMzMzZjMzmTMzzDMz%2FzNmADNmMzNmZjNmmTNmzDNm%2FzOZADOZMzOZZjOZmTOZzDOZ%2FzPMAD"+
"PMMzPMZjPMmTPMzDPM%2FzP%2FADP%2FMzP%2FZjP%2FmTP%2FzDP%2F%2F2YAAGYAM2YAZmYAmWYAzGYA%2F2YzAGYzM2YzZmYz"+
"mWYzzGYz%2F2ZmAGZmM2ZmZmZmmWZmzGZm%2F2aZAGaZM2aZZmaZmWaZzGaZ%2F2bMAGbMM2bMZmbMmWbMzGbM%2F2b%2FAGb%2F"+
"M2b%2FZmb%2FmWb%2FzGb%2F%2F5kAAJkAM5kAZpkAmZkAzJkA%2F5kzAJkzM5kzZpkzmZkzzJkz%2F5lmAJlmM5lmZplmmZlmzJ"+
"lm%2F5mZAJmZM5mZZpmZmZmZzJmZ%2F5nMAJnMM5nMZpnMmZnMzJnM%2F5n%2FAJn%2FM5n%2FZpn%2FmZn%2FzJn%2F%2F8wAAM"+
"wAM8wAZswAmcwAzMwA%2F8wzAMwzM8wzZswzmcwzzMwz%2F8xmAMxmM8xmZsxmmcxmzMxm%2F8yZAMyZM8yZZsyZmcyZzMyZ%2F8"+
"zMAMzMM8zMZszMmczMzMzM%2F8z%2FAMz%2FM8z%2FZsz%2Fmcz%2FzMz%2F%2F%2F8AAP8AM%2F8AZv8Amf8AzP8A%2F%2F8zAP"+
"8zM%2F8zZv8zmf8zzP8z%2F%2F9mAP9mM%2F9mZv9mmf9mzP9m%2F%2F%2BZAP%2BZM%2F%2BZZv%2BZmf%2BZzP%2BZ%2F%2F%2"+
"FMAP%2FMM%2F%2FMZv%2FMmf%2FMzP%2FM%2F%2F%2F%2FAP%2F%2FM%2F%2F%2FZv%2F%2Fmf%2F%2FzP%2F%2F%2FyH5BAEAAP"+
"8ALAAAAAAMAAwABwgjAP8JHEiwoMGDAlEgHKhw4b%2BGCyEilFgQhUWLEzFGdMgRYUAAOw%3D%3D";
var icons = "data:image/gif;base64,R0lGODlhdAEDAfcAAPVvb4%2Bv1Mw2NNbW1rIdIFVSVbfDyIzK7OoBAerz%2BcbHx%2FbOosnq0nTL"+
"llSv4ZxjXf%2F55p5%2BufzMUf%2Foq%2F3ahTBrs%2F3p6P3%2B%2Fv%2B0Af3TaojFSjBccKuaX9Tb3w1TpFSJxYeHh%2BLr8%"+
"2F%2FkmYKWqHuizce01fzKypCkraXctfLx8WjEga%2BTw6eJvHiJsPuZmbq7vE1vpezr7tfq9crY6NB4aoXOjyytUUNtftOxrU66"+
"bvvX16eoqOX06C6Ir8HI1KnD4dSVi6mLN9fh6f7y8Zybm%2Fq6ujqk393AucrS2%2BHX5%2Fu7Ev%2F12Wi34vhYWfH4%2FM1WS9"+
"almU%2BItm2JlTWVyv3IPKbV7%2F8zM8vm9UieyfS9IKW5x%2BDg4fn4%2BPiqqpXWqbLZ82mVxtIeI%2FaFhrzU6P%2F77v7lU%"+
"2FX09bG2xBWFxp%2B72eLb2P7eJf%2FzyM4WGrOQjslHPeKqm%2B9JTf9CQv3rfPn9%2Fuzo1%2F3CK7LK47Tiwi90l9jN4siCfP"+
"%2FsvbaeyNLDwSUhItBmWO748eodHeLl6Fy8U6%2BxtAJ7tcrh6drTwNHB3WBxnrPgsP75%2BP%2F8%2Be%2FUy%2Bu0GuZYVgSm"+
"UO%2BbRvbdypqwudCsNW9%2Fqebo6rqrhpGPj%2BqEhMmxbv%2FhOPWuaurIvPvg3u09PYW%2B3R2nRd%2FXLeni7u7h4u2SNrOt"+
"VmrAXH2WQnjA6aOqxCJgrHajub6PFfDu8vb894AyNtfv3J3E4aB%2BrlmVVO%2B%2FsLa80JovLPClWeKrGeJMUvj6%2FKXJQT%2"+
"B0YdOgEJ7Q7DKLXndobf2%2FHJxRUPv8%2FL7h9eCpD6t1eMHfjr%2Fb8StXnRtihwKlT1a%2Beerp5%2BrZNGiGbqHYnHqofLmZ"+
"MPf2%2BBCpWePQms%2FPzziRO76oz1h7irydnOmxEMLnyBFFYESo4I24h8S7ortbYvrPzr%2FQ5PhkZHCDSkR6ukFloN%2Fw%2Bd"+
"uLee8sLOe1puSch%2FFRU%2Ba%2FgNTKH2ahi%2BRlZZGfvu94eefbuuW%2BQveQkPGNjMEkJFN4YRpYp9DWPePKzf%2F%2F%2Fy"+
"H5BAAAAAAALAAAAAB0AQMBAAj%2FAP8JHEiwoMGDCBMqXMiwocOHECNKnEjxIKCLGAGt88Sxo8ePnmhgfENSQMWTKFOqRGCOoAsE"+
"KmPKnEmzps2KYXLqzLnuWYwYz4IKFXppEI2c%2BpIS0EfgptOnEVkKdOECqtWrWLM63cmVhpoEQIcOPYqU6dKmWtNCZUlVrdu3cO"+
"Fy3dkG0CQzKfLqNRODbNkwBALHHbyyKuHDiBPjnKuzjQBPvLhIlszIr74wSQWcpZgR40aQoDmKvEjyjUnFqFOrXh1Rp4B1AtrQFd"+
"CO0b8L%2Fxi543pZY2B9FBmH6flT7NCiZJMyZcq6ufPnqV1PshWbbhh3Q%2F41ghNGtk59NFK0%2FwuMVqLwMF7BGhdq2Sxz6PDj"+
"y7%2BqE9Skf7beeM%2FZps26T9x9hxkNtsHxW3DC1XWXXnv1tVNSgAk234QUVrhYGALc948jT3RHV4f75YRdbga%2BZ955jkE2GW"+
"WWYaaPZiZaKOOMNA4k3UCfANKfdY1dN9B25CGIIWwhOlbbbbnt9mAYvi1V45NQOtTZRZ%2BFBtJogJR22okYaiiQBUeF2JgA7tAx"+
"ECMlltdaThlSV%2BR12W3n4XfhjSdhlHjmaSNjxIW1HnJlLacmRPV5KVAK68w5JhyNEITmgRMVip9%2BdPkH4JLgFQipnpxCeV56"+
"fhrX3m%2BDPnRjQWa4Ux1%2FtBn06J1rdv8pEIeKdgciVyM%2BGiNEU2pkJWhYatnpsBfOpSBeDKbAl18uRliqQ9LR0ShBnwBRXR"+
"tvAJGdo1wY6GSkbHqZ44499ujOj94%2B25Bwfa4XFKAuCkrsvLEylmJkK1YmYGabgdslHVwwglsjn0wiXmxvHGGBCZ8MVAwXZkDR"+
"L5cZEgRmrWOWeWaaQs4FqrvPjDoxvSQr5BqRsx2Jm268MbnOprGC4gjAXFwwxCSfZEcHDoAcgZsFnjjSyMN4SQwroTnZVxCiGDvG"+
"qKPeAuevsXYhy%2BCyD14WZMlcIySdm9aNKGeI4Im3NcWOPMyLBY5YMO0%2FXDzDxUBDeGKLZEWPjLSsqKr%2Fup%2BRrqbbsbGP"+
"4TuZvki5CKO6XZcsaX5FWhpg4pn%2BE7WQAszMxSeOpMBQIzq080w1KRgtNcWTSFtQtddmu%2B2Z3cK892ursqpyki03eXrjvJ9K"+
"a5G37pQrxxNdhqEj1TgyyesMfWKLI68YzfhC0QY8cMEHY6swww5DLPGupoYLtrlxckd2nWd3ekEjjAxhgQ7kFNFFF1TV30URJujw"+
"iQVDMPJ2RexrnwXepwMTFEF%2B9KsfVeZ3PxOQ4xP7G0L%2F%2Fjc7cenoTeZCV%2FogohwBmMARn7ANRFLgiSOYTkgyo5nNcKYz"+
"nvnsH0ATGtFKt8HwhUFpkKvUfyaHmQFp6ludat8n%2F%2BSXj3o0ARTsEAQClrhEQbAjDuaohwvwlzPcTESIBaRfEc3xDiQqkYlg"+
"dCIooAgAMbjgfg%2B0gMAe0r5TfSlM9iKTmQTyKn2o0YoPgRBtUjC0C6zvj41YXyAbQchC%2FqNuNKghtNiUNi6srW1vi9vcBFK3"+
"u0GMhuBbJN9%2B9yGMDU9vVrFAPZAYh3owjyaMsED8XCAGAHTxi2AM4xOjiI8uMOyUCxGiAenXSi56MZbAZKIY32GOMp6xCA%2Fs"+
"n0J0WQRJEYRpYnLa%2F15FAGTmTIQNWcqLPEEHM1TDDOAMpzjHKc4YuEOR62IkwDjnuYWATnSkO6G%2FKiaQcWGQPz4SCJCOBv8V"+
"EwBTEDqwyRCG2AV8GPGXwYylIEDxDmMWQQdu%2B5wFPrFLfPQyDqAQBCwTGkwxklEMtaTiECionYlW1I0DSVXtAFeQOob0liQ9iF"+
"ne4Amw%2FOSmOM2pTp8hPYoYL3PJW95DnAe9ns7TUBcTE6s0RkfiXeUTCWUHNmMyBB3IDx8AaEIc2MHRjjLUoeSwQC7fJz8XbLGL"+
"SeyqWhHgxDgQsx74mOJD1egosmqxHtGiIOtkgy1ttTR2gYGrXCE6VYSc5TEJuIRiF8vYxQ7isZCFLBDQyZAOfjCEESGhCWVnQ6U9"+
"M1HRFMDTNsZZpwCAo%2FiYCcHIQT9NmGOrG12rGJsAgJD%2F6gCXZ3qfCeZnUFdiVKNr7apGn0jbeuRjfvmja250y9t6mKN6aySY"+
"wdqBsO01TCBEM10Uj2tLwi6EAKUBAhTGS97ykhcOR0ivetULhCe416eX2WMfAQnIQRaSkIcMCWWpFy6DqPRvrWqp4LASWzDGYSZV"+
"vWpWtxpchX7VjMgUK0IGWtGLIrTBCR0mbc3YwJxRkqJX7SVaC4xhYbKDocXksEjjo83HdPOb5IzxOM25X5OFS3XUshZfXffXy2Gl"+
"q%2BxAsFULWg9IXLjBC20ohMOaEAqX1cJpLXFHT%2FzRl3r4kCDmJQBee2Qpm3iMKbYyblcz05rq9Mxo5mmNEwLd6023%2F7oLu%"+
"2B4%2FsgtKp5B4iQeWCSOyaFCtclXKJ1YyGseM5fjd1ZdR9rIsUVwPFT9QhAM1tFmdO2JFKzTQUXQ0ZuFz2Jo29tOKjayoJ8tPTa"+
"ZQMiv08M569rOgDe2SRr3KaROa2pmosgisdCUSS9xWWtpy0xP%2BhKEtumWMJlrRHk3xMW9JkEiHuNhdlnKyyyhm%2BYCXJOI1r7"+
"ahgN71rre9751nIx8ZUYFIkm52wxsmp0eTT5A4yDRpxK1Z6cs7%2F3OWcP01oQVis1vzktLRRjKmG33MsA4Bj7dxn6TFAPBj83rg"+
"Ktbfvnk3O82x83OhGx0NgXiVIsQWoDeZqIKP%2BGfhsoOYS%2F9WLkOw%2BOQtVxrD0474NRHCci0j2t5TBrMx0Thziqvkp8hT3s"+
"Sp9bzorZkmotzqO8Qw9JM0oqq7dYFzYfvPJIP1yhFJpbDLelYv3nm4jFZxcpu%2B3K0fesRfH2aml%2B1dn8vEsiAsLEM0K89h9X"+
"vIBuUyO%2Fb%2B4CkyTOUAdJ%2FZJ81FY%2B%2F9xDoXO0TVGNPPCV7SZzU83xPP9gH6z%2B000WM7%2BFgMPw6yvoK8b34TWWrM"+
"m%2F70cGkxN70p49aDk8alR73sZw%2BVMtsUzbgvTqxpz%2Fve26TTiQV1Y0UdWVKz2%2FfIT75Drp2tbWu7295OL7ifoPzqo%2B"+
"QCvHjFIDrgg1XQowWWUAT%2FDMY%2FfkUowhItoMcZkDCIV%2FAC4dYviAfAQJA0eCD%2B1b8AEr6viHTAAB1R8AECOIAEKIDogA"+
"7%2Bl363cAnwh3%2F%2FMH8CkQZp4IDK9wqKgA4EeIAHWAEc2IGsUAEfyIEaiIAj8AoUKH9gIIEnmHyDkA4fgA4dGIMeyAo0WIOs"+
"wA84%2BIHooAiDsIIE4QET6IO%2BJwTpYIM0yA8ekIRKuIRKmIM5qAhCcH3Zt33d933hR37ld37pt37t935C%2BIWr0QhIsAxI6A"+
"E4uAzLUAHpUAFYiIXp8IZkmISskA4dcBL6x3%2F%2BB4AFuIcviIAwoIAMCIaCiBgX4APpgA4tAAb0sAq34AN6%2F%2FCIetABST"+
"CJavCIA6AHVdgCMKCGenASFoiBAziCMgiCpCiCGpgOJTiIqhgXxXALLBADrzAE1VANjkQ6RbEFAzAAHdABQrB9QpAAKRADpEAK5a"+
"AISHASLfiCoxiDRliDOMgPOsiDqziNasELZ3AGc0Y6QoAEWxADihUDSFAIBoAE5IgEBkAJSJCLA2CC9OADJ0GEzViGTDiPTgiNUE"+
"iN%2BIgVZsCI%2F5ACtHgJPnAJBNEBWoAEUAAE6wAEboAMe%2BAHSKAA2EAH9HALDegQYhiHZsgPaKiGbNiG4%2FeG6YCRc1iHdj"+
"iF3Od94Gd%2BbaiF6sd%2B7leR%2Baga2Kd9J2mF4oeF5v%2BHfi3ZhTD5EGZADwqAfXM2CGfQAZewBR0wCAZwAhixBzRAA6YBBY"+
"egAAbgBKuwCj25EIV4iIm4iI0IiZE4iUlQiXpwiZm4ienQiRVRDPvXAv33fwHIhxnohwoYA1kZk4Rxh26Zh3EplwZIlxMZiBTxCi"+
"0wAFswCEipACdwBgpAldigBePwBDjQmApQCA%2FwBjjQAQpwBgmgBavACxTRiq8Yi7NYiylwi7m4i73Ii8AojMRojJ54gXO5gTL4"+
"gSFYASOIiiaIl6vxibMJg7VZirh5iqlIEZfQAlvAmNiADQZABC%2BwnAqgBgbwBjRwCLooBFrwAICACJpZCEJwC%2FRQDRT%2FYY"+
"3YWAzayI3eeAngKI7laI7oqI7s6I4VkYzAuYzNeIQ3CI24eY%2B8qRr0uYwzGI85uJ89SBGkYAnJuZwDsJQGoAbLqQZagAxP4Aeq"+
"yQ2v0QEDgA2FMAN3QA9mQBH7eAv9%2BI8BOZAFeZAJuZAN%2BZAROZF3qRBbkIa2eYTzWKP1yAqKsAX9qRrwaITyWKNNCI1PGIUU"+
"0QEtoAaFsJzY8AInUAhU%2BQIKQAkjIBJ74JTUqQBIsJyF4APl0AK7KRE%2FGZSgWQxEaZRIqZRMeRFOCZUCIJVUaZVYSRH6twxL"+
"qJFzqIYe%2BZFwWIb8AAMkuaOJcZF8qpFpuIZ5CgMgKZJ0WBF6%2F2AJHZCkjfkCI%2BCkjbmkI2AA4oCQ6%2BAGWpAAITAIQmAA"+
"tzADliCQE0GYhomYmrmYjWkAjxmZk9mYlomZmsmZngmaE1EMhvgBlqCIjOiIZakHYjmWkfiIZ%2FmGxwioibGViOirXwmJkkiJlo"+
"iJKImWajkRPnCkOwCRA6CYL5CL2NCtJ6AAHXAI5qoFnZoACeAE5aAFyoCgxomcysmczgmd0kmd1smL2bmd3fmd4RmatzACpPAK3k"+
"SLjEA6IXAJGKqLvHimrXkJr5msynoYogmLskiLvGCLiJmavOiLrTmMxSixElECI9ABO6Ck3tqtEMmklCmrZxACnqoOSLAKVWAJIv"+
"8LEQeaoOHKoA6KDRAqoRTKixa6DhiqoRzqoRQBC9pQnlyQAFuAnt8YjuNYjufoA6kZA%2F%2FQjhOLGOSZjSmwjd0YtexJte%2BZ"+
"i%2FFZEd5HCqsAkdiwma7qA9jgAz6gAHDrA%2BRot0KQtzJQDgFwB5YgnxJhpEiqpEzqpAYApVJKpVZKA1iqpVzqpRRRDYx4Af7I"+
"CwBpqgJBkNiAAwipkMiwDg4JkRJ5C8UwLxdQDLzgBCEgA0JQDnfwAxIogT%2FwA%2BUwA0IAs07ghXZ4uqnrqSEgBDMwBuUwu7Eb"+
"u7N7B2NguyGAu7zAC503ESnAj%2F7IBZdrogbZuSoautjACxOpuxGxiFz%2FgKFCcJghAIvqmgK56wTqq67qurwywKFpMAuWsAoU"+
"0aiP2rYKIKmUurKXmqnrsKmd%2BqmhOqqlShEp0I5CSaZFeZRJuZSA8ARP%2BZQkAQWaWZVXWbrqUwyeOgY%2FEAAkAAYwyApMyA"+
"oACAYkkAZ3MAMh4AR%2BFBF%2BlLq%2FC78eDAYfEAUc%2BKNJqJ8YaMIBkAY%2FMAa3mwDv96Iv7ARC0AKJgLpDucBn6sBqKsFt"+
"OpUWTA9CkLst%2FBAjIKKpSwcXwMV0QAfNC8bpq77rmwDqIAMcHAAB0AItQBHZqgbbGq4pm6HiSq7megjoyr7s6q7weqojoAeHmZ"+
"gnAKWH%2B6qSSZmUcJk4%2FzCVtroKk5QVCUACMPgBJOAETsELCdC6aeDByojDS0jCH2DCKKzCLPwQGvy7w7vJH6yM%2BQmkTaiD"+
"oUwCPfzDKpwAGIwQp6zJipCqgsyYjgmZhyyrilyrnWkJtFvLt8wQLeADF%2BCpoNoB5DgDSDAD1FzNSFAO2JzNd6DKrUAPikARJG"+
"uyKDvIKruk49qyhfCyMTuzNXuzD0EKLSAEULqcTHoGGbqz%2BHqdBkAMgIANHaCh%2FvrIV1EOIryEFUCkNKG6afzBIezKTYiblN"+
"zD5fCLL3rKM5DKJLDKIezJDq3DsTzLEw2zyYxdnnrRsEsCitAB80yvz9m291qd17mv3FmZ3%2F8JAydMu0E80gjxt0hwC%2BiqBc"+
"brw7MLuxLYw0ZdvEL9zRORtmsLnWfwtnE7t3V7t0iQt0Kwt337txQxCAh6BgranA36oAYAtBV6oRm6oR3aTlehDhyNDrgqE6rruj"+
"NswwXt0DkM0WAg0RStEJgMvK87wzV8w3btyvwwnGDAw6P8i2%2F9D30twyQQfjq7oCcQ1j4boRNa1kR71jPgAzCA2Cms2AyhCGlw"+
"Cz9wB3dQDmOQ2qZt2kM91PEbv7MwC8T7BS1AvxMBvuJLvuYLjGPsBOzru%2B%2B7zfJr2xKRBAiapPTcpE%2BqmFMKCFUKlTSADV"+
"mqoY%2F7pVZBAq4cADNRDCEAvxr%2FXdeD7QEfGAU8%2FMMyIJ64nMmO%2FcFRAIMcHd53fYCHrcalbbu2TNJ%2BLYEZvYP3m9yG"+
"i7jN%2FdxXOt1bOgYumNES%2BNn3rRAjMALqoAwc%2Brqyu9qv%2B7qzK9sY%2FtodrAhqHRFZzNhO4MVdDMa8IMapS8a%2BbcZo"+
"3MFr3MYTgQSWMLiROqmUOQCSagCcm6JaoA6fOgi3YADvirlWAd5MGAUzUQ3v28EMXQHv7cp4HQCl%2FYsJobqHkMqA3dDw7cqwjN"+
"i0vMICQeVWrtEg2OTwveWy7MPJ6%2BUKAc9aALuzi9pjoAxXYAx0rgzGoAxfkOd6rufG8AVaTRHL3MwCDM3TPM3VTM3X%2F5zN2L"+
"zNHtzNSi0RiVCYlMCtimnPdKyYCjAAd6wFlLCu6rDH74rQVtHkFTATRrzQIAyCWZ6EEH3md3C7U97dYU7DG73qNWrm9F0Oh6Dmqm"+
"vSqkzrY27r8zjeH923uq7mCpEEos2ht5AG3kcPI8DG0i7t6Id%2B0v7Y%2F0oRPO3T6BrUrR27R93DxTu7jx4RAZsE25qhCrADz0"+
"mZL7ADBoDO6hwC6tCufuvOTlEBrmzkcN3dJ03Dqp7lhb3DUD7RlowQvPC7HPzrfXiDwl6nJByAnh3SuJrwQrDwV44ODv%2FwOUzC"+
"O%2BzqFN8QZ6AI0r6Iq3AGt9CIcrvyLO8DKX8LJ2%2FdEv8h2qRt2nA%2BBhTe2sQ7C7At27BL28QdEX1AxU7q1K4a1SyfpUiAt6"+
"DaugEADH9%2BFWCQ3TSRyeWgyp2c5RGf16McAjo9EBfQ67POymTe0bjuw7W7wlYU9rIOu1ce8A%2Fv0Vye9qUMHw3%2B4BFO1KW9"+
"2qU91Bj%2BAzzP8xve4RBBD4XAC9C8Bbp9vk5gBiee4u27uvA73JDc1i8aERpc5WmQ0S%2B48Xatg%2BWtwot9ENin8G6%2FynRd"+
"9jbq8R%2BNwkCs9gRR%2Bhd%2F%2BrSu8apPj6zP5a9f9%2FDB5m5Ou6kt53R%2B53e%2B58bf51EvES2gxSX%2BxSP%2Bxc3b22"+
"V8xmMwC2rMxloxA0R%2B0Db%2FwfYzoOSpTuRMCI0YeOYTLcQOUQyqe%2FGMLuaeb9dyf%2BY4vcJfP2frj%2FMMX%2BvhHf8gDR"+
"BCQjgp9s%2FgQYQJFS5k2NDhw39JFKWZcedWmlX06I1o0dFjR0stQnokYYleNYgNW2CjkyDGICEdkMyYOWNGB5tIyu3kWe5OmgD0"+
"WtFTlNKo0QQkoqD7EMDJUagHiyUQUjENCTAfKrDi58GrB378KjAlESBNuUMDo%2F67wOuVDCFjfgYgQeJDlK1cu34Fy4%2FV2A9g"+
"yqb5UW6GjAS8LkBs%2B1aIT6BY7%2BYNy7fvX6aCzRY%2BnHjxWtChIZ5R5JHeqlVnbt3y0dr1ax%2Brb6V%2BJfqf%2FyUfM25p"+
"4Z1GC2HCP4SnIW7WOHHkwovaZt78KK8QVe%2FQzYquwliyZu%2FMCJGY%2BYViThxDpmt36fXr6DIPvmNYRggziteCd5Jg0CGr5e"+
"9aR68%2BMHv34JPPOQILNBAqRW75IY077hjjQbkavEM44WZZcJY0ZtFwuCpaWOVAEEMUcUQSSzTxRBQT4kidQ5QpZzjCJGzwhwl%"+
"2FsNBCGzH8IQBLakvxRyCDFHJIIokkpQUtflhFuHIeVOYKY4xRRhljvrDySiyV%2BcKSW4r08kswwxRTTInScFHJoOgh4aOPQhqp"+
"o5Lo4WJMOuu08048oSKtoxFOS0012AKVbZVbfMzzUEQTXf%2BrGC6esecaSK9BpA4uPlNUTBBeQAgbEC719FMQL7C0IUbquCYDCa"+
"hQVVUJrqF0VFCHzNQgbLCJ9VZcj7qAixQsKOXXV6qB1SAz7EHVjiwe6aabR7LIwo577DFj2FxRzLTWarPV1qBdSzkCCiD2oGEPIH"+
"BQY4iEis2Aikd%2BcYUaeKn55REloL1mzm1%2FBMHWfPsF9YIY%2FAECkCfeEODgN96gAYpSPuPFWCq6cSUITMRRwA9xNqmkGyWG"+
"iZZaf0MWeWTGYsCBBoMJUBkXlfUR4I091BC1DgrYnViBFBoxqJhnxKmEXiU2SYFkoos2%2BqAUcABEAJVjIeaBB4hhmQCX99j%2F"+
"ggt7JMjilyAQ0Tnda%2B5RQgldEDn6bLS3LeaIpQnAhZgd%2FNhiiwFweKBlAYC4pGaJxeGFoVfgyUKJbjAxcdc6Ho100krTdvzx"+
"qGLY4w23H8AGpYO4UAMZqgkA5IUM7NAliDpAbgQRsbvhQDRRISr11FRXleAeV%2FGF%2FHbcEzriCaaJUWDYC0oZR5%2Bq78nimF"+
"MMXUgNCYbphpqodu3111JSEFahC9SVAFllma0XWmlBzn38Oxl1NFJJX4XKDcpx4ebvhXgRRwB9CHiC3mOEdmiLDJyH3qgLVKMU%2"+
"FgCXuMhlLjOkC2Jbm1i8ftGNZ9HOduSjYJBa95DXoWpVrKqd%2BBJC%2F4PeKaAhwRuePt5wjCx04xQW%2BEcKXqCAgiCkDlo7Rh"+
"AA%2BIojDKxgB3uZwqBAis9gLXQSo5g4%2FKCAjG1sbPcwWwWdeDhe%2BQpY11OI9ri3rGZFMHwpGR4BiKEG7JkBJZJjmgBcoQQM"+
"VEJawvjDH4gQw388TGu%2FWB1E6GCBk6XMbSqj2stiNrOaPWJifkjBZxrRs5%2BNTX9PZOSBuvWtcI2rXOdS4Lra9S4H0steE2xI"+
"F7%2BYkAuoIRNEGIQF9sA0XARhcEqAxwDa%2BAdhXIJbz6CAHfqWkqS1jQBOg5rU8BYzrM0xCAOgQxXDNrayNVKZzgGYwAhmMIT5"+
"sGEGedi6iFixi%2F8lkWMes4cHDQKI%2Br3BD6OKARthqYZTehETlRhbFjZRgD8UAAQJbEQKriHMLUCkEX5om9O4gQ01bAEbduNj"+
"3kxlM3Fw8iAxEBzhDFci8ykOUozz5jL%2FZTKUMW1leIOZzC5AM5sFAWdf45nPgLZIhyCDeLgAwtAOsgV4xlNp9UPGAOBBr2FQ4R"+
"TCIMIWzJCCSVCAhhQr5kOeMTl94MJyCczc5qimj3H4IXQ1LF1DUOe8U7CuohmMnew6aNFt5VKjvIza1Kp2taxtrWtfQ4gZjkm2Jj"+
"oEB8Sz3xFsF4NMxBMEk3ObG2Chhk0wK6e0EwEFTkUFBnIgBhX1wxPqRwxswFH%2FKnUYRx%2F3cI9h6OIUMXAI8%2FwXvShSL1jU"+
"smKysOgs8E0LrNVaW9veFre51e1ufdQb31zhN8A1tHAQeUZliTcOf7j0H4N4ARH24Fgv2goW9tjEA7%2B3qmRxjQNbkGxDgNA%2B"+
"IjCCIbzAAf30cb%2FjbUJ5CnmG1rphQwBywVsFlKS50NVWiF0yXvLSpARXmyvJtc9ymDOI5jhXv8%2BFbnRVXcjpUldHh1wAByxz"+
"2Tig4A81kMIROURuLLjB1GIAVl7H4PAx3DUxTFDXKCBM7ggpG05dEO4Uz2jhC%2BH30qmit2TO3GE0FzbNOELsmhbDmMa2%2BbGR"+
"iaoY1TBDDC5BtwHUSskD%2F9jCIJ6RAjNwoRgVZQx4uFCNFLziGUdWwwCSrORaeTmgTn4FlLnAiylDZXch5MWVs7zlLfjhAW1wGT"+
"KMdwwOKGDMzyhzlNHs2ecxJgXcqJ%2FL3gCIcdFgHm%2BoXyyQIUuEvAIRmOBAECwdBA5gAhuFPIonwQhKMV7gFenExS%2BQqQYu"+
"mPONUrEHYumYEoDlUaN77GNHARnSke4MkScVbr8CmAK6KeAFhdgBETIBAmSDIBOj3EEhFADQS6SgcaBhVApisIUOYEPYwy72spOd"+
"7GUTYQfNfiE2mBztaqQZIuzr6yAGkWQFKKAQxCYCMnBBvPspoYbMJvezmfyMAfQv0Ix5Bv83pkYAHs46Fpm4xLAYkYJB2AMRiFDD"+
"IFJQXYiMo3efPggdREnKUdMvlUBr5SuFwdl%2F0AGkt4SIWJv2tLL%2BEq3C9JoxxQbXE5nhBcXegQL4C6JimOEZAhU2sb39bXAz"+
"29nmHsQrFJrgarziyPB%2Bwc67fWykZ13Z4t5B1f29hUuMNsEkjkUhtF31cRsb68Qg3gkJF4RkCwMERJh3uf1wDzvUEOMLuUAK5H"+
"zwPcaiADhYrEPoUIxisDUqXRRnUQ3yCnMKoxQkJgYmbu5OeMpzaDy7p1rz%2BZDWohJucqMbQWm7t4jd9sUJCdzgdluiLWA92URA"+
"%2BYG48Ip3F73bWs8618v%2FvYUYqPYhAcQ93c5Ob2PzXvlbH3chyn1usYOyGjHQuBedj3zZI%2FsBInfF4H6h7FcWIBPNf4E45s"+
"iB6D%2BkETF4QSaEEQv4gwAHz1i9iPZAPH24gakGGUBMBw9OAqipTcApneKpJ0sBmhEm3HqI%2FKqcy0EI%2F%2BqcABMd0jEd1C"+
"EcBBORFMi%2B2aMyqLi9YOO25Fu%2BbyMCuvu9S6Aihgi6a1ODsxPBESRBrQs3cnshLwM%2BM5AsFtwC5CIGuiu25BOGAigAuau%"+
"2BVOIYJeAAc9IrpYMHW3KFngq%2BvaOTuaqfJ%2FAD20kBEBhCYeCrWHADzQmsR8ipVjEsCliX43EFDniGKUSI%2FzXzot%2FBHu"+
"EhHgG4rONJns5qnoEbkRdQPn4hkL67BHibtxiUQeZzPgVgshh4Om4RukHINmyoOuwzROUbJXFDxGcLqOD7jOy5tg4oIVwYPxM8tm"+
"jwPxCovlgQBnZSgiwIAlNkNngQphfQROHDk0HwLX0AhCPYvy0oNiDoQeVirgdCLejSBelSgzZECHZzn%2Fo7CPmhH%2FvBH5RaCP"+
"75LBLhwG%2FbAQPhgmsbAN0rREM0QUSEtv1TCF6ZuhdMO2ykxG%2Fjt3E8N2nrrxRAx6Kjt3VkR2SzxH5LRLCLxzwphgWjQweDsF"+
"JQgyNYB97ZpQvbGQ37BQ7TBQ9zF4rZAsd7CMoTIf%2BGIKG2QyEVYiEXgqGEmKHjkTERWT4i2MZujER7xEdlG7dyU4NLKMeEuL1B"+
"MD7d2z2WzDpLrLuvCzt8uT165DaczMl2vMR3BDunO5S%2BAwIGexlEExdAoJxderSEiIFJq7RLy7RN88B%2F8LQwGqN0MiM0UiMz"+
"UDU4kqOtycAQIQLl08YCKYZXMD4RvEfeUzobBDtGjKMUGDqqm0u6NEQa5Elz24IniyFe2EublMSrI8qibDZn%2B7rCRJQLKDizSr"+
"j6wYVYAAECQ4hiQMCJQ4QBaLqK5KLH4jhu%2BbhSIjVVGpuSa6NYmqVaYjk%2B9MMDqYahOz4TxEel8zeLE59dkbrEJLb%2FoSRK"+
"fvO6wfTJg%2FjNoBROcNRNd3w%2BpMxLOum7vwO8XSIGHOC0EbqARlA8qABAcSKnyEOn3lmndnonvaIne8KnEtlArSMCrgQgoXPB"+
"ostNwLzEF2C6ixs%2BXuHLdFxMlqTBroPOJ%2BMk6fHPbVPHv6zL4iRQf7wUXniG9iMG%2BJOnQtgCWDARlUqqlkIImGqj%2F6Mp"+
"myLAneqpnwqqocKE0QyR2EM62gsR4gvBlTRJcXvJZ8jB9LK24LTHBU06o3RQFQQlXknJegRQGRRQ4%2Fw364nPCqrCurqrvJInvs"+
"IFvwIswaICwjIsNHQXxWLS0DADBSg2Z5PO5gigl0gytFM7pNtJ%2FxTcz0X5qaGjT8VUO2xctgb9uqbD0ZQIOsSUU7%2BsUySFzj"+
"xNxtXqracCLuEiLuMCxn9YrubiGDuwA%2BhqF0wTsSDbQTRFPhN0yUwMu3QrUy4oMgSdUxMsVccU1BiQNnUDLVFNTBgs1R%2FF01"+
"SVMi9lJAVryoGMsAn7xUZbyH%2FIsE3YsA77sIkk1Ps6VrDqO0KrtadUNEabSkg7CEmjtEvDNE3TTmTNVm1lC8osKB7io4VrOIV4"+
"uIibuIpz021NV2SlzgcAPJYRPMLzoMNLPHWt121dv%2FZ7v%2Fibv2a0V381kEYgAwhgAzaAgH9tCFFoAIRAAVE42NUKWDaYgDlY"+
"gzXgBP8RcFiGSFiDQAEUwNhluoCBnQNOoFhOKIM5WAKPXYiE5diUbaRGWAIRKAOSNVk20JkLYASc9U4TCdiBZQMyEBlR6NiWfaJG"+
"YAORJdk5qNl%2FYAQL%2BARyMAET0AELGAKdPRCInYAyGFlOmIOh7Vo6KdqjXYMyEAGDbQQLKAIXEIN6AAAAEAN8KAId0C4RCdmR"+
"rViTRVmvzVsvuYAlCNsymAAI6E4dcAEAiAPDPdx3MId8IAdGqFWHeNmYndmTtVmcZYSq1VvMFREyEIG6HVuDZQRyEIN3OFzSNdx3"+
"EIO4BVijrdutrdmbbdqnjdqpvVwQ4VmC%2FdnM%2FdeildmKPVm20AH%2F0TXcJgCAeqiHcRiHXTBdF2AhAgHbziXb7jzbtF3btn"+
"3buHXclLjarO3d3PXXCyCDiaXYMlBaC3CBJjDceugCEyAHfyiBFkAG5I0DczAB2o2Kvu1cwF1aHcAHABhd0k1cfDABuQURupVcvO"+
"3ebbHdgi2Rj4IGkhWBn2WEIgCAXXgHfCCHIRgCRoCOH%2FgARYhffHgv5thc1gXc7gxd%2Fy1d00XdAW5emOXdkp1ctqjc%2BkVg"+
"PLna8LXYEoGFZHDgkmWDxfgE0bXgT9CuYuABb%2BABdQiFKYAB5DUH5rWN3UXaJRAV4PVfSCDeepiH%2BI2Dd1he1Q3b1m2E13Va"+
"qJVaqrXh%2F0QB2dU14BLhgV5A2p9thCIwhzjAh084CFjwhhqQhUZQBixAA0XYhV2IYtGAgPAVW%2FI1X%2FRVXxPwhzN43%2Fid"+
"3xaW4jYWW%2Bg1W7RVW7Z1W7htXDW%2B4ReWXKW92ZwFEW%2BI44rlA4Mo3yaoBx34mgsIBGno43%2BQASZAgwoYhzgwAeZoBFlw"+
"4IqF4KWdYC%2B%2BYAvAWQ72YBAWYea4X%2FHNX0bY3%2F4tXQAW4FC2E%2BdFWqVlWjOW3TQmEGnQAPFlA4Mgh3qAhCIY4AuQhR"+
"qogTr4hwQIBTRAA2HYBR1gDh6mWLFdAp35hHx4ByI2YiRWYiZ24l2AYucgYZI14UZAYRVGXBbO5v8x2WZMLlvp5eTq%2FWQCqQFy"+
"Llm8reN8%2BAROhIVFQAVpCAR5PoB6HmRDBo1AIOfeNdhiqOM7JmmDIAM%2BloViAGRBfoI4eGnQmOLereILuGLDzeLi5eLk9WIw"+
"pmgw4Vu%2FdejBLVxrVlzGxd6D8OhRUOR%2FGIIuAIAiEOFikAUVQAVv0Bl1yGU0gIF5GK%2B1SGWSZeV%2FKF9IgGU4omVbxmVd"+
"Rl5fZg5E5ufx1RlXbmSohWRJTl5KhuovYeiLXlqIjmgvnmjm0ABCiGNOYGUL6AIxYNyD4AFpQAVbvgAhcIB6hgEgcGbQGOdyNggd"+
"qIcmWOeDAOZ3lgV5pmd7xudfDuYHjmD%2FY7ZgckjmDQ6BDv7g5A1hxi4Sot5alD3q4I2D4S3e423qLxbqtagBQtCAUdhaMtjsLr"+
"CAxZjlRSAElFZpXgCGKWjpI6jk65bpMghpxcVpgzBplP7ZeU5vl9bnZBBsf%2F4HgBZoPCboJF7iJn5i6w6ZCzi8QOABHpAFBsAD"+
"POBYCccDb2AAWeCBQICFVWWdYoAFWFjwBpcFb%2FAGCJdwE6dwBrBwBs9wDa9VIYMFHkjkMkgGEjeAdYAEw6UBIKiYF6CECBCG%2"+
"BG0CT5i20Bjvyx6F8SWDTyjiRuWBkyaEGmAAg5ABVUADQ0ADWgAi5kAF7f7hrw5r2Z5vd0aFRViMtT7t%2F3lQ7bWIaaSlaZvG48"+
"%2FQ6T7u6UBWBKA%2B8H4phgV%2FcC%2BoARVwBl%2BwAVEY9EH3BV9QgQbwAhTAgwuHBcft8AZ%2FcBTo8wb4c0MXdEIfdBuwAV"+
"%2FIARVQgRpQdDxQ8QznSkh38GToB4qFhl5QgRywgXN4guR9gFrIhk3vdHnoAeOOA01gAAzf8KOQBVQg717ohzngg0BI9kBggNAm"+
"75T%2BByf4gkCu51v4udDAbszmA7PlbM9mC9CGctv%2Bhysw7bYGApmMa1XO7FZ2gbvWgbyuZdvm613ehb%2F%2BkUCoAUB3Bi9Q"+
"aRGhg0AQ8Umv9BwI9EwveE53hgaogUX39Qw9Cj1vcBKf9P8aqHRA3%2FSCv3hRuHVPT3hR94YLD4RkfHgRj3AvkOk16AdCEPRaeI"+
"BZzwZC3%2FRN74G2Rl5IkAYK%2F3hjTQhaJgSe14BeSIZkWIRFqGWeB%2FeUE4JcvnIHEAKtNgjs7vI56O4u%2BG5uCYTxLu84Qm"+
"%2F1Zu%2BoYG2v%2FofXju0Bpm1bnud6vud8%2FhEGwHRC94VwPxAY5%2FOJr3iMN%2FhOR3RF9%2FhAqKhZhniSr3RXD3S2r3uD"+
"53RPB%2FWO%2F3jgWfCRD3gVkGlWx%2FRYj4MHcPmXJ3hrkPlB3oVwSHwM58p2xu6iRwXSJ%2F2ir4G0%2Fgd1OID0RoMpmIUEaP"+
"p%2FuPpeQPKCXXKCfnLUn3L%2FtkaDFrCAnHcIjxZf%2BB5pS6FvabBvJhbkQv4RHhh8Qs%2BB4D8KGI94P6d7wi%2F4uw91FNB7"+
"ef13Sad0Syf47Cd8w3cGROf%2BUZcFkEcIf3dwkp94V1fleNCAQc%2BGc6D8WjD4lAcIUaIMoakwLs60BjW8oMDDQFagYv8mUqxo"+
"kcwiFYQ2cuxYwxusC06AYUFjkomMCxZXsmQpCxUhVBr6zeETCFagQAykwUQlLdA%2FJ19KmrxlpiVSljJHcSrD5t%2BQLgCKMKII"+
"S1YNVItUqmNiEsa8IUnHkmXZQCDatF7Ksv13gQcDPCi8NFCRw0bavHpF2fDlTMVCh7JgIS0WSBYDb3Pp%2F6pwlsMX3r2S9fbN8b"+
"eBFy94BEecaBix4sx1nRHSsGZNPEICaz15ci6vDUKRRVkzKWzXNMCZNz%2FsXPZCIG88O8ZUIY0BmX8JqhBF42AGr7ZjYUnjqKFX"+
"smSLFkmrwbEGD7cyvJrEMkiidJbee63hxKeRhS5iyFV1y6N6DVkTrzj4CuRoegFW5MtkzgiI1FVxeVFDY5BNJpkvOaiAGQreQIQg"+
"D7J4I9eCozn4IIgCVTbhQg1ZyANh%2F8CS4YZz1VBXDneFGKIvfjmjEEN4nJjibxBoKE13QC7CAA%2BN%2FKPOLM058IUTB7LUCA"+
"PecYQKlVR%2Bx0BIIRwwBRqGTAGMEyo5Of%2BRdxowNQcZ8XVhwUTALRLTT%2F%2FwAgyXaChyRH1jSvegL3palCAeCzY424yiRD"+
"ghQxYC1VIgcLVIVwOOQUZoobD5pYJuJsrCw6KNJsZhA5E%2BRmmlafX1V6Y6brooWxdcgBMPsXJKhqvKMFEnGkyMEaafFcHijZXE"+
"fecNrSM1hxJ6er6JSi%2BjOAXBJ59UVQwPi8D00UTjmYRGCxYk2ytZBEpmILgqwiXXi858WOmlJSqKIWIcvtiguKXqFeFlJQqG4k"+
"Qrxuuih%2Bvai1aEEuLY0EP8CtjIBY0YycsVt247RShXRFeuZ2R4kxVxqBiH5QXLKanMxX6%2BFNNMNd2U0049xSn%2FVHNGYVzW"+
"WZKhMPNhocFY74w2WKYQwjyIydKrLMq7sw2kVjpiqt4QGVKb%2Fj4676gDm3rowTo%2BPbST4%2BE6BRPKJMA1xq%2F%2BGKQ0i3"+
"gDQUhIKrkr2U5SZx122nEnJSHgiUceGuZ9O3NLPCidQ9x60pHzXDsX6vONNQTNY0t0SH30oEqDmHSMJOaYMNQUSW40wI3dZfmDmB"+
"usL%2BeFB3gFUQ4AEwIvdAC%2BUiOwynpTrRKb5IAyTZYLJd4xVQnTRjWArCWXXoKp%2BuwUMUCpL%2FoBDty5gqpLukBYJwqR7G"+
"V9%2Fm%2BHlS9%2BKqaor9r9St%2FHFfqo2JtKfqoJB4J%2B8%2FU%2F6bBKEDPR%2FxzFMnDB%2FIF%2BFSxh5Y1YIiHJtpBlv6"+
"QEwgvqUoEXIAe4w50LBfOalKUk5K5NSZAtsALfvNSFQcqMKGsWgkgHW%2FLB9YVPhEnbS9Kwpq8T3mSBNhxLCHSHhimowhgJoF%2"+
"B5iqExjnXEY8cJici2xbuS3bCJSXnVYRSUrscUDFEVItL8AEiWC0iuURqinGOoiC%2FNmYhInKKDFonWxQyxMIQxqtEYTWjGLDqx"+
"jhZh3e5e5wQmTu8qwkGb2th2AbcpEW52PCQiE6nIRTLykLVr1O1CcgFb4Yp3vmskJjOpyU1yMpMOY5icIsa%2FUPgvjZ08JSpTqc"+
"pVtiSHX%2BvhD1kpy1nSsv%2BWmsSjc%2FTIR1vyspebVMknipCPesyjmJpwgQksYCRfnjICJaiIHiLAzGlSs1VmIEUKTFAPSHCz"+
"m9zMh7SWWU1MOnMietDDONOpTs%2BQogQrKMElyLFNb3KzHiaYxCSGYMp11s%2BZ5%2BQnQJlZjCT0gRYG1QYpdKAJekKiHuRYQC"+
"4WMARxBrSOEUBnRTM6y0YQ1KAe7QMpSpEPetpzAZKQhETrB0xhEtOYyFSmRmMqU01egBQF9ehHk2CBfMyjm%2FVwhElNgVKKgusC"+
"18zmPBkKTkYQdaZOfeoCzVACnFK1BNWwgAt62tCHSsIUpsjFJPbJlmK0853xTKo37YlPfUK1rW7%2FLVsSWEDVnBbjAvHpqUOD6l"+
"V4iAVcA70pLRCqUIbmNaITfStiExugamhjrgYFKXroYIEizCOvXfWqJCYBLo4C9rEhHWlaTWBSlPZVsaY9LUtIIde5IpSiFxiCME"+
"V72b32qqadzelOtdpQoHZ1qM1b6TCLCYBjJvNvqD1um%2F4RzOC6NJlN7VUi5sqCEsTAuEbVwSf06tVc9EqqjjWoVbGqVctuN6wz"+
"MyopXqFNhnJTE59wGHKRi16kshcSS33umBqL0%2BnGAL8NY4R2heqnC8T1u31IQl3vulXt8hVjZHVnCUghT%2FaqdRIQEGt8K%2F"+
"pgs06YsPfMJ4bHsoL9JiIFWmxE%2F4BN4SfGGpgUkZ1sZbnqVaFqdrMdPWhCF0pS0Ro2xBlW5189Klgdp%2FWhhsVvgFZLCxYkwg"+
"xIpgiKZ%2BtVP6nWsa2tyGtjG2B4%2BPXGQv4sSXlL2h%2B7lbNUBalIdzzalPZqtSvQQwiUoQ6yRHnGU9ZTdKnKX%2BuaAbsB5u"+
"6AberYA%2BfWp7IV6gLyRGaZ2nbQOuWpT3mL6Ce3Ra5vziEWDkHnFPtJvx7lr38bAWApS6K7U%2F1ueLNaT0l%2FtcaLlql3UX1V"+
"VS%2F4smD18Ur6sIIk5NAQmd60lFWspxF%2FusQn5rSeCKzkMyPYrl3Aq4z3WtpXV1TZBm62gskrbT%2FpQQ0ycIAhfP%2Bt6bHU"+
"ecal1pOSmexkYNtZ2GNisZW3sExnA%2BCn2s0stTUK77lCdiKSpay2aewnRhwCC%2BH29RXIQoZJdKLhDecyug16aTmz285UXvaX"+
"yZYCW%2BTj0DOGOKMvUIxqmOEVpCBFEpJwzpWnnBQxMEM1eFHXARejGFwg%2BSticPKUr7znemi5y18Bcy7UHNduISvGH5sIn%2B"+
"shEXDQRDvaIWV4uMroQWHCwcWNk5xwves54UEdwh72aR%2FI0nDe37iTUu4Z%2BynP%2By3BM547BD9LGdAxtbnJz1kCbeiaBRH4"+
"%2B99Z0Ic%2BlGDpSSCFGXiBa1dxwQw6V3kiSrD3vvsd8IFnwQr6oA3%2FyRs%2B6NWY%2BVgbH4NT65kFlbd8BJbcByC0OxcxeM"+
"Xncc2FUGQ903gIFe5zr3vco8C4AdI1r7H%2Ba3IjO796LsErmCfqAJ%2FbjlLVdR8SUY36FcPxkJ%2F8Ck6P%2BghgnvCdf8Uuk4"+
"L3nTdd8nzPvva3D%2Fjua2Pzhk%2FC64kufi6YHOV6IDZV1W95g7K%2B3T%2BH%2FyvIn3RcgAwYXLhlWgNYQyREQjM0wwI%2BIA"+
"QqoDWgABAJSLd92wGmHVKsnYAN2375wStQGge6mxOpFuqxwCvMDi%2FknR5IXt%2Fpn%2BWZnuYV3s%2FFQDWk0QVUQ%2F0lQSJE"+
"Xvu9IAzqH%2Fu53zmdHOzFTQ7uYA%2BSHk4F%2FyHg0cIetJsp0KAeGOENSgcsAEOXIFwCNqAXfiEYRoIKCM3AFdzBYUHCjcXCOd"+
"zD%2BUm6SV9ZjKDzpd%2FfrYDVtcQKolzklQAQOmEdzuDSndz0iZ%2Fj2d8Snl%2F2%2BaEQCh4gft%2FnVUT1PV7T%2BeBcKWLq"+
"RWG7uZ8j%2Bl5LhEwo9ICvMUACMiAYlmIkOMMVVKCAOAHWneEhbJ3XeR3YiV0dkJ2AuBmcURzxBZsdlQAMYlRRpYAh7l0iWiL3ZZ"+
"429GAVgl9h6KAh%2BuDgmZ4xqp8MAuI5HZ4NosfImRzkQWMTRoAlKCItuIEUWuPPudwjtoU6hELfXEEXlmIYOgNIgMvs1d4h3P%2"+
"Fe7uUj73GidJgdpmlgS8hhHdEh4PUBxuRh%2BZ0fQQYhMtIg%2FA0iS9Af%2Be2hQk6jECIjEbacGXDBREjkMGLfQk7jEDrk4W3k"+
"ACbALDCBN7wjPDagNagAA6jigRCgAYrbKJIiBOakBFKgn%2BiaGvTa8Kld8TURQ2IMFzxeD1akSFpjSSJFHqpcQg5eMVrkCTYkFR"+
"ohR8oJN56TDyolVcagVS5dFaZXVrYFcCRAArBkKVqDL3iBOsik3GjhAbqjNbSkKY7hHU6EPyTBIbQiGpLFqNlZ8zVRSBpkEG2lC0"+
"6lJTZkINpgYRRiN4JkSC5mWJ4jKcScZ0DmJErmV1reClTm4V3%2FZviVRTGIoi%2FUpRdGgg04gxfIABpNTwJ8YiiOol2mJirCpX"+
"TwghlmIJ0xHBuCXBP5ov4BY21VQwxc3%2FmJZOY5ZHoxzwVIJM91ZR9%2BJftxnmUGIEUk4clx5d55JXWCJlYy0zq2o1q25CnOY6"+
"9wQSvOJSzGItfNotjZYlQR5ApMj3Ei52daIua1Xw8e3ivwY5vwgmYeIuV9p%2BZlJPyZASOQjYBKIkUWKFWO5Pu93IIyU8ik5Eqi"+
"pl2%2BZEyWCy%2FQnivioz7mIx6k0AKZYAymoH1yY1JOJzWuQEZeJoBimTN%2BpHc6oemB58ul40qM3DXZqIsGYY7OIHPu6IzK0l"+
"mmpYau%2F2VbvmXZFOAZ0iUDTmlOPqAEegFu1k81JIKuJeNoFpUzQl77oV9VMuXLHSlLbONEQiOZUmN1Mmd6KSgOMkKNRqZCLuSQ"+
"bh6cCl2FrlNpNsBpfqFqsqZr5iVLzMkWYoEoKmBtOqADqsCcOdUFNKj9uaCufSZTIt4VjgnjhamdSuVnZh6RiqURwhzoDeBzeupm"+
"8t2lYuqoFmGcxl6%2BCQhwsCMXLmltOgMDGOqs9iq1eWLfLGqjOqCuXpKvHiuy%2FgYPpOQhlOdawmSWJqu0JqtIJAAPOKsXsqVb"+
"Ruu0diuy0oFpLqk1WANrysJreiu6tkUmZMJErGu6sgUGZEBFiAAGvP%2FrqwnDH7yAAvyBMNhrWcTrRIiACPjrou3AH4BAJvzBDh"+
"AsWcSrwDIsmZnBHxRAAfzBFhQCxS4sCBTAPxQACNiQu%2F5DyGoUBgwsxJIZvk7sFvwBy%2F7BIFTsP0ysDeGrvvLryd7sLBnsHx"+
"DBvhJBwioAzMrsAhkswioszh6tKqUAyw7Avq7rHwDtH8Qsxy6Q0lKsxe4AxRbCP2xsx34s0n5tIrHsPzTtzwbt1C5QyhbAJbSsy5"+
"otyLKryMIt2CKt2JLt07qtDRUCy%2FLsH2QCEdxt1Aqt%2FdDsvvbr3KpTyI7sItXtwYIA4O7r2drPKyyt3UKt1NoQ0Sbswh5uOh"+
"GuzTb%2FktgqbcuaQcoK7gIxrtNaruk2T9VW7BZgbQFoLdd6LOfWUuYabSOF7ACs6wD8w%2B6%2BQCZsrg2hbtkGbuTWT9qubcu%"+
"2BrPHWLi217tVm7dZyLO26FeOCgONCLeTekN7ubNP%2Breoer%2FOqUvKyLfNerv3oQBG4APu2r%2Fu%2BL%2FsWgQnIZ7mIrcS2"+
"bAqUrvjOzuT%2BAdP2bfGi7%2FiyUvfyrd8CrgDPDgBYAQM3sAM%2FsBXIgRw0AQCYQxPoQP3oLu%2F6biYAr%2FCebtRWLt4O8C"+
"r17%2F%2Bm7ggDThdAMAtD8AQDgBg0wUwRLwKvLgmjEg2Hb%2F0ssAlUhAs88D%2BYAAtPcBPQ74GoL%2Fwm%2F7H7yq8R98r1Zm"+
"%2FFbu8Nr1IOp%2FDMmIMVdEEPD4EJiAEQC3ELy0EPg8sCt%2FAQv7AFY3Dz2C%2Fb5m%2FL7u8Ub9ITP64Nl4sDB3EEm8MEY3EQ"+
"NwEW5%2FEfW8EY%2B8kKm7EZv3AMZzDc7m4m9O7vBq9iOQwZQMASsAEfTMAECKwmTwAf8MESLAEZkAEo%2BYkkQwAlV%2FIlY7Im"+
"rzIm8wEbfLIpi%2FIoL0wjTDIlswHLTsD9sqwbs2wBuDIsQ4As5%2BUdC7EL%2FIM59LAVQMVEuIAcqLEOMHAXkLEg%2B%2FAXu%"+
"2FAEv0MT42wtL8ElU0AGZAAV2IESYIA5m%2FMw2IEEZAAFiMAEsIEwO0ktU%2F%2FyJYsABYCzBIzzMJTzOZuzEiiBHVCBBKxzO3"+
"PyK4uyWM2zN2fyPWfAutrBMDDyAGDAI%2B%2BAQBO0OwMzQh9IMVvBMSfzPyyzBeBDEJvDPxRBESCzR4MLFmsxVHTxNYfxIPcKEi"+
"uxEjPxIpGBOAc0BSRH8zQCBFiyPWdAPg9DPx81BgA0FbCzO78ypVnEBZABKjN0OOczOfMzUh91Ogt0OBe0Rj9ZVE%2F1UBP1OP9z"+
"ViP1Vq8zUxs0KD%2F1SnT0RyszHgfxMeNDSmPxMfdKR7%2BDHvvxMpuAXwNyA8%2B0npSxITuwBFNwGicSH2A1Oi%2FB7Ej1N1PA"+
"QJPzWfezEgwDV7ezJ1%2F%2F2BZJtSVPQEOT9T5f9mUrtVp79UEjIWhPdlXXtE3DLxMHdGpn9GpLB1wjs1wLMV1XBF6DS26D9DL3"+
"lTNDszSDSyEftgtTcCIfEgQ49jnbgVtLRyMs9D1bNXSbtmZjtCvTitrRM0Pjsz5nt2ljdlqzs1cvAQRQFFAvtD2Lt2ErdwTvcRqf"+
"9z1ntHpPd0g3MB7HdUjPtQnUtTno8UrrNX8bs27%2F90iX9EnfdYH7CQ9bc0c%2FcGJr8yFlwGWbbFFVMlVLAESX91ErdVdzMihv"+
"IHiLtnhTQWmD%2BGlr9mZTQCurt5i0dyo3dD4nt3w3MCI3QWZTwYvHuGeXBTuwgxWwQxCz%2F4N%2FG7kJKLkY%2FAMAfDQ7pLSB"+
"M3B%2FJ%2Fhf%2F3VdO3he%2B0lLbzFMT%2FgQE%2FYNGfVZUwHGMII3CyxZWzaLn%2FN2M3V3b6BYg%2FOak3mbn%2FV5r7VGT0"+
"R1h%2FZY53OEU8QPg7mOZ%2FMQ5Llql3hZxMGQKzk7kHQRiIWRRwWDmwAGNwE7iDlHH%2FhKCzeAb7lKg%2FqY7HVf8zFg%2F7Ec"+
"DPhgH5Jp2wHGSLZoh%2FM437mbb3ZT%2BzRLtDaKy3pZ0zqe0zZGs3V96Ppo%2B3iXv7QXEzqFmwBqBzswK1pSQIIghIGSC8I8QI"+
"VYCIJyiYUmCIKUdwE7hIEa%2B0lw7zaW%2FwM%2BDLgcPLielPt%2FE%2FczT%2F9ENGfxIdk5Upv577g3ZXs4ebe6rXsyrq8EI4"+
"D3n4%2B3r6M1baO3ba%2F3RAy8vlc1FZD6Hv91YKd6IJuAfas2w5eFJoTBtIcByIeBAIR7yFP7LoS8AIBCyJcLkQ%2F5kSf5kQdx"+
"kz85Mkc5cHO6f4s0SZuASaN0qF94hs%2BMVHe4itN6Oge7UyNFWPs5nWP3wfczotv2EuTJ0tdz0%2Ff606Nzwuv5K0N7UuhAyLdB"+
"yY99GIj92Iu9JpQLo7v8kkO6pEPFNPN8EGOwOWT6zVM5gns6bwc4umu5c5O3dM9MLQu1eNu7aQP0QN%2FzOy%2FBU5PBEDA9xH%2"+
"F400e9Qa832Tg%2B5Nd51lP%2FvitbvnQ4AiS8QRuMPumXvumPvgA8QdqXCyRQu7YvOSRg%2Bz9ouwVwu7dPRBd4%2FLi3O85b%2"+
"Baf7Nrs7UWNrNWRPD6yLN5tf9tGvtXp7fUBO8sNr%2Fp2ntbOzwRAEOe1Av9VHvuGXN%2BdbP%2FbzUseTPSgIwMeDPDucPMiX%2"+
"F8fbce%2Fr%2FbmnO4GLuhNBAGWrc0%2Fbz9J3%2BFUDBAaBApUMoyIhAwURfNhAYPQPYkSJEyUyIrNkCZ8JIihQyCCBip1hSpQM"+
"NEnSzsEMCUVMYLgEQiOKM%2F9ZxKiRo0eQIkmaHIhSJUuXbGDKpHkUaVKlS2nqaBMG6tMwT6VOtQoVaxhNTJeys8KO%2F90%2FE%"+
"2Bxc%2FDNn4l%2FYsWLF%2FANQ1hy7Ilzp1rV7F%2BKFRhAyTugoQYIdwSkRKnxJxiheiI3I8GWDs%2BNHKiEHT0Yo9CUExInpMn"+
"YMWefkwSmDKhwKc7Ni1auP6pj3pk1s2bNpxxbwZCvriHHAqmWH71%2BRIWn%2FDeki1pxYHWbZodX9HHp06dOpV7d%2BHTtXSGHY"+
"CRLLDlLx4d4tDNckaO6%2FLmEELc%2F%2BHn58%2BfPp15euKStWUAIEZWW3Sz%2F%2BoLKPwAINPBDBBO1yCiupqGrwqvxyU5DC"+
"Ci28EEPdXIOttg5lu23CDEUckUSKinFiEAMMoGSEEaS44YYNvpnxmw1s9OGCEnU04v8Aib4wQscghZyumhNoZAZJZvJAo4ceppjC"+
"iCnAKESKEQYZckQeIfriCyy9%2FNKuCzrYIApwjDgTzTTRxAIZZArQghcwL%2BSRSzntvNNEJGJMIxQz1fzTCEsEEMaSLXKMrphq"+
"UlyxxRdjpHHGG%2FGEyIguJ71UTiQ2kEKBQiihJIoeAE3zg1hweZOL6Jww8kgk82jSSSinaIVKKzG9FVchzdhghAGkiJQZUUdFUx"+
"hchNmmg0NZu0AIMh0YNk023YQz12qttXCLbwYY4ZsbTmDCT2iN%2BCCVSvahxAzditFzAy1UCRdaQYWRQohr7b2XQB82wGabbyhB"+
"opVn%2FwSHYAcINmL%2FmnhOQVZZvC7QlFMtPg1V3ChiIaaAVWCRLtFFWXQRRhkhlRTfku%2FU1IARbqBECEpCEbhgJphQRZUDDg"+
"AXi16g2eeEFFYz4wYpfAVWWGgLIODYZKFbFdIkX23yyShprfJKk632MoWgdzhhFgVOOKGVUMFhogpggJnlbGAOeDbhU%2FZBgg7V"+
"OvimAyM3%2BBbeYck1F93nmHVW3DOlfTPOqw2v60SPGw155BsbxmtdGA1QQIoNbtjmBmaMcOCAWT5NQwu0mTACi1PuiWYEnxXTV4"+
"F%2BKZkhYEAJLtjMthlmLfJ23w080EHpPRz4pYps1VUmY41ySqrVNWCDlL%2BR4gQsnDQC%2FxxVgEkjjVlmsXl3eag55QYkilEM"+
"ZZVZpkQVgal3QGaabcZZZ55VV%2BzhTRWQGNSiR7UYY42D%2F38mYiJT3kY1OGqtphjMa90GfNCB2J2JCdyjGRMcYDDS1aIW%2B5"+
"DC%2FOySNSlsrWtfC1sPxla2tKFtbQhTWPgeVxegCe1XNQpW4I6WtBYC8HC54xMBASWvQt2QLgncwAtUpgUhuAtmFTzYn3qQjVps"+
"AAkbu8vDJEc5y2FOc5wDxudCB4zRlS4eqAuE3OhmN7zxbm%2FnShcOAQixTk1Mf4Aq1am0kKrVjAl6I9ACNk4wghEGbgrByEY0tv"+
"EKxQhRAdyCnvSgVL3rZU97B%2F%2FoHjU4EL7x4YV1roOd%2BtI0O3BY0HZKYyPwdtWrGG5ghuIqlg1XwwtKXI4SBtjGFfOQB941"+
"8YlauKRdEDnLBj7QCBGU5ASVeMFUaDAB5Gue%2BVqWPjR9sn01uxk4crazno0SeNnaVrfOGLg09k01F0jBCYY4gg1sYwShgpK4wB"+
"HIQd7AkHcRogFeZEQtvOxMnzQYD3HJwF3WxYMg9BrYxEY2s6ENhWxbIRKAiM1r6Ytf%2FgIYJ59Ju9op7Haq4YUWbiDL5jmQotBq"+
"YjhuoAXOcOVvUmCRFnwgQoqJy52ETOYU9dRRK14uc5s7wBYpATrRke4UYRzBGB1qtfKtrGX4pB7%2FNGcmTfhZk4N3gYW%2BXvAi"+
"AxxRqYHDQjCkYYAbXAIvXHjlNmI5y8vV8pZObNc%2Fg6hARUZveo7Enva2N8lKiq9kF7gAHZyQgATI4ArGMAaXCGuMK8hAHQlwAi"+
"%2Fo0FCU0oEOvOhrAtQB2MAOlrBcEqxhEZtYJzgBso5Fyl5foTWuDXSEJTxo2lLYtrfxQrSjFcINRkCJE%2FyAj358qbhacYhdIc"+
"Fh4yzn89I5Pa0KMho3iCpXeslAkKJJmDRTBQUtiIVaHFMKM7UXXxMQ2CoM04IVndlOv3DYBMAWL5GlrAwG%2B13whldNFRwveQ3r"+
"2cZyRb3quIJXbVo5nGaxc1z8aelO%2FzcCGYA2tjQJxBm2sY1CaGGWllPSqJ7UgzxEYQyK2gBYw8pRjxrgubwzwkhLmmATMY%2Be"+
"JcVqEvcJqH76gK3vSYAXHWA9J1iHDpS9whe%2BO134qolgMttpFYwhg%2FOa%2BB%2FcBWx7uUddHgJZvtKswhc4q9i4HUXJgeXx"+
"AfTlvEXG1Xpz3Z4kzeQ98GnBvKC9SwooscznwXWdZ5qChWsphVZoAQmBuEArthFj5jKvqje4QwfuGVIKc9WrHK5LSlfaUoLGEVAx"+
"3YZ24XOFvDlAHdThRWWNUTaa%2FXhU0KzZlK%2BgDifE9gJ9XfIX1EbMJYp4c%2ByTJjCInOYWpvqvWm61KhToy%2F8QB1OCPq4u"+
"BjUIjCqfui5c4OgLfB2wOdcSRpc7AUsvkQIZjGEWeRiBn5lygS3QthCtMEBu%2Fxi4VgghBVAM61jLSktbBq6fuoxPAnjIhCtDZ9"+
"PefV%2BLeSfrA5D6wI7lq37bu2sKvhrW62vfkKmMWDVHZOBaLtswmQDoIh7Rmevjt5r6GQBSl%2FrhTBEiEbdxBx5A2HJB02M5th"+
"CCQ4whFEyQHjO%2BIW%2FFVAPCDvboBvLAcwo%2FG8OBGMSGg0tOIhJXnbzb6juXa50DDKsK0bnAXwfbagomHJo2q7U6CjeTiO94"+
"4tM9eMIHJuua0VqwIL%2Fy13lsdQqGYlN93GMfyw0tSSv%2FY8pFNvW9lzKIbUgh3FqIwSVWioRB8EAIMHcAFqLADBmh0wBNB2ib"+
"vQyqqKHp2bXcxrSRwIVG8JnbS1F2R2cJYmDCOxsk1QKSV2PoM6kiOvnuNHifHGp%2FA%2FzGNOFFrpksSeqSHVBR1jqVS61YiOx%"+
"2B1e4VNvD%2FVEH3%2FZv4Ru76UorRAbO2ogNOiEECQqB4xueB5pvSQgdCkAAprgbnN2A2Ayea%2BWhvHs%2BDCMS1Q6Ht0Ctl5C"+
"8adKFFHMiufhU%2Bas8BYo%2Fg3GvsEs7fgIHKTO0oVM27eszHag%2FWhI%2B%2B0gwiHLDTIPD3mC9N5EuYFPDYECcEfGAb8kAL"+
"xiANZE568mBG%2FzYPCcoPFlhPKWBBAcppG3zg5MxK5fBMCGLg5UKBBFaw5mRQIrwN3MSN3HYLWs4t3YDrPVzPCGAPOnLMu9RGZi"+
"Sw7MZr63JvJnaP4NrO9w6QA%2FXp%2BfKu%2BK7MCyXO7aBQxJhKyogvsfiOK3COGaTHwsJvBAzAyAJBDqNDCP5OC04gFFJgEApP"+
"CHiA%2FhYvCsDvGyCP0u4C5xqsEHau597tTyrswsZA6IjuPZ5uVKIOOlJNv7YsAmFtbM6u4RKgDyMC11ZNbXyvgjjwTCgQBA%2BL"+
"61gRA1mtyWJRFmkx%2Bs5LMTrgBmhk8zogEBaLCO0CFqzPcrCPF7av%2B4AQC6aAEcWvA%2F8GARhZg83cTKWi4PLkjM7yAP467%"+
"2FP6DD7oDVDsTTpSDbB00cfasKnQDrFWsQjTsPfEDuHakALNMA4b5gLscctgEdR4R5%2Fmix9VMRnzIkVm4Lzo8Tp44RJkyQRhTg"+
"UtrAVPoBywUc%2BiI%2F3Wzwfaj87ej%2FPkj%2F7sLz5k4NIybTpEkb08TQxHJQHL68AcciJw7QuVz8n00d8q0L5owiYlbhcH0v"+
"Z2shZ7Ek9gQQs2YBrvsEZawACw0QnuTzVo0AZxEOVgpEp40AdhLggtcvXkwwmAIX1UoQqmbyWdgNPcsZgq6vbKKw7vIssKLgw3Lp"+
"80ziCjb%2B8SLC7BUOzoknrs8g2qOSsvb0UYifEEsg8WYjA7%2FlAKAnEQC1GPkOAQE%2FH7aM4R72WvdKzqiIl9tLDhBpN%2BIg"+
"stk0%2BCKIi6Fg76BNPKiHCvJKuygJLi2McDA9MWV7NamAXEUqCxEhIvlvH6OuAZuY8rp7EaG%2FMas7GoklM54wMiJfIEYw4LhL"+
"ARMVIjeXM5rxM76QIplfLZws8poVIqs1M8x1NuhvEiEVMxyVM919NvhCA3d%2FM6AgIAOw%3D%3D";
if (/search\?.*q=/.test(document.location.href)) {
//Add div for pop-up images
x = 0;
y = 0;
popupDiv = document.createElement("div");
popupDiv.setAttribute("id", "imagePopup");
popupDiv.setAttribute("style", "display:none; z-index:99;position:absolute;");
popupDiv.addEventListener(
'mouseover',
function(event) { this.style.display = "inline";},
true);
popupDiv.addEventListener(
'mouseout',
function(event) {
window.clearTimeout(globalTimer);
this.style.display = "none";},
true);
popupDiv.addEventListener(
'mousemove',
function(e) {
if (sqr(x - e.pageX) + sqr(y - e.pageY) > 400) {
window.clearTimeout(globalTimer);
this.style.display = "none";
}
},
true);
document.body.appendChild(popupDiv);
//Remove sponsored links column if it exists.
if (foo = document.getElementById("mbEnd")) foo.parentNode.removeChild(foo);
//Save the document location. This is used in XHR's.
href = document.location.href;
//Get results
results = document.getElementById("res");
//Create new div to put results in.
newDiv = document.createElement("div")
newDiv.setAttribute("class", "leftColumn");
//Create new style element and add it to the head.
style = document.getElementsByTagName('head')[0].appendChild(document.createElement('style'));
style.type = 'text/css';
style.innerHTML = "#leftColumn {float: left; max-width:"+(window.innerWidth - 385)+"px;}" +
"#google_extra .znerp {background:#D5DDF3 none repeat scroll 0 0; border-top:1px solid #3366CC; font-size: small; font-weight: bold; padding:4px 0.5em 4px 4px; }"
//If there's a div id 'navbar' in the results div, put the contents of the results div into the new div.
if (document.evaluate ("//div[@id='navbar']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
&& document.evaluate ("//div[@id='navbar']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.parentNode == results) {
while (results.firstChild.nextSibling != document.getElementById("navbar"))
newDiv.appendChild((stuff = results.firstChild).parentNode.removeChild(stuff));
if (results.firstChild.nextSibling == null)
newDiv.appendChild((stuff = results.firstChild).parentNode.removeChild(stuff));
results.insertBefore(newDiv, results.firstChild);
}
//Create the google extra div.
rightDiv = document.createElement("div");
rightDiv.setAttribute("id", "google_extra");
rightDiv.setAttribute("style", "max-width: 255px; float: right; padding: 0px 2px 0px 2px; margin: 8px 0px 0px 0px !important; background: #E5ECF9 !important; border: solid 1px #BCCEEF ! important;");
results.insertBefore(rightDiv, results.firstChild);
//I don't know what the following lines were supposed to do.
//brclear = document.createElement("br");
//brclear.setAttribute("clear", "all");
//results.insertBefore(brclear, newDiv.nextSibling);
//Add the foreign wikipedia menu command.
GM_registerMenuCommand(GM_getValue("foreign wiki", false) ? "Don't show results from " + GM_getValue("wiki address", "en") + ".wikipedia.org in future."
: "Also show google extra results from another version of wikipedia...",
toggleForeignWiki );
if (GM_getValue("foreign wiki", false))
GM_registerMenuCommand("Change the other wikipedia location to something other than " + GM_getValue("wiki address", "en") + ".wikipedia.org...",
function(e) { GM_setValue("foreign wiki", false); toggleForeignWiki(); } );
//Add google extra stuff.
for (i = 0; i < 5; i++) {
switch (eval(GM_getValue("order", "[0,1,2,3,4]"))[i]) {
case 0: addImages(); break;
case 1: addVideos(); break;
case 2: addWiki(); break;
case 3: addDict(); break;
case 4: if (GM_getValue("foreign wiki", false)) addForeignWiki(); break;
}
}
} else {
//Stupid icons stuff.
var FRAMEDELAY = 50,
names = ['Gmail', 'Calendar', 'Toolbar', 'Desktop', 'Picasa', 'YouTube', 'Notebook'],
urls = ['http://mail.google.com/', 'http://www.google.com/calendar', 'http://toolbar.google.com/', 'http://desktop.google.com/', 'http://picasa.google.com/', 'http://youtube.com/', 'http://www.google.com/notebook'];
var place = document.getElementsByTagName('center')[0].insertBefore(document.createElement('div'), document.forms[0].nextSibling);
place.innerHTML = '<table style="font-size:13px"><tr valign="bottom" align="center"></tr></table>';
place = place.firstChild.rows[0];
for (var i = 0; i < 7; i++) {
new icon(names[i], urls[i], i);
}
GM_addStyle('.GM_stupidicon{width:52px;height:37px;background:#fff url("'+icons+'") no-repeat scroll 0 0}\
.GM_blocklink{display:block;margin:0 6px 0 6px}');
}
function addImages() {
//imageurl = href.replace('search', 'images').replace('www', 'images');
//imageurl = href.replace('search', 'images');
//imageurl = href.replace('search?', 'search?site=imghp&tbm=isch&source=hp&');
imageurl = href.replace('search?', 'search?tbm=isch&');
if (document.getElementById("image"))
imageDiv = document.getElementById("image");
else {
imageDiv = document.createElement("div");
imageDiv.setAttribute("class", "image");
imageDiv.setAttribute("id", "image");
rightDiv.appendChild(imageDiv);
}
GM_xmlhttpRequest({
method: 'get',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
'Content-type': 'application/x-www-form-urlencoded'
},
url: imageurl,
onload: function(result) {
res = result.responseText;
if (res.indexOf("Suggestions:") == -1) {
imageDiv.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0" border="0" class="znerp" style="margin-top: 2px;margin-bottom: 2px;" style="margin: 3px;"><td><span id="sd"><a href="'+imageurl+'">Images</a></span></td></table>'
addTopImages("image");
if (eval(GM_getValue("show", "[true,true,true,true,true]"))[0]) {
whatever = res.indexOf('<table align=center border=0')
end = res.indexOf('<br clear=all>');
// NOTE: change the value of ShownLinesOfImagesto how many lines of images you want to see (max 3)
ShownLinesOfImages = 3
ShownImages = ShownLinesOfImages * 8;
for (i = 0; i < ShownImages; i++) {
// N O T E : : : : this is an apparent fix, but I am not sure what it will do exactly, it may actually break the script!!!
//if (res.indexOf('<a href', whatever) < end) {
image = res.slice(res.indexOf('<a href', whatever),
(whatever = res.indexOf('</a>',res.indexOf('<a href', whatever))+4));
// image = image.replace(/width=\d+ height=\d+/, "style='max-width: 100px; border:0px; margin:0px -2px -2px 0px; padding:0px;'");
imageDiv.innerHTML += image + " ";
//}
}
}
addEventListeners("image");
imageImages = imageDiv.getElementsByTagName("img");
for (i = 3; i < imageImages.length; i++) {
thisImage = imageImages[i];
thisImage.src = thisImage.src.replace('http://', 'https://');
thisImage.addEventListener(
'mousemove',
function(event) {
x = event.pageX;
y = event.pageY;
// var h = this.parentNode.href.match(/&h=(\d+)&/)[1];
// var w = this.parentNode.href.match(/&w=(\d+)&/)[1];
// source = (w > 50) ? this.parentNode.href.slice(this.parentNode.href.indexOf("imgurl=") + 7,
// this.parentNode.href.indexOf("&", this.parentNode.href.indexOf("imgurl="))).replace(/%25/g, "%")
// : this.src;
var h = this.height;
var w = this.width;
source = this.src;
// source = this.src.replace('http://', 'https://');
globalTimer = window.setTimeout(
// alert(source),
// alert(thisImage.src),
// alert(this.parentNode.href),
// function() { popUp(x,y,source);},
function() { popUp(h,w,x,y,source);},
10);},
true);
thisImage.addEventListener(
'mouseout',
function(event) {
window.clearTimeout(globalTimer);
document.getElementById('imagePopup').style.display = "none";},
true);
}
}
}
});
}
function addVideos() {
//videourl = href.replace('search', 'videosearch').replace('www', 'video').replace(/google\.[^\/]*\//, "google.com/");
videourl = href.replace('search?', 'search?tbm=vid&');
if (document.getElementById("video"))
videoDiv = document.getElementById("video");
else {
videoDiv = document.createElement("div");
videoDiv.setAttribute("class", "video");
videoDiv.setAttribute("id", "video");
GM_addStyle('.video a {font-size:0.9em;}');
rightDiv.appendChild(videoDiv);
}
GM_xmlhttpRequest({
method: 'get',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
'Content-type': 'application/x-www-form-urlencoded'
},
url: videourl + "&num=4",
//url: videourl,
onload: function(result) {
res = result.responseText;
if (res.indexOf("Suggestions:") == -1) {
videoDiv.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0" border="0" class="znerp" style="margin-top: 4px;margin-bottom: 2px;" style="margin: 3px;"><td><span id="sd"><a href="'+videourl+'">Videos</a></span></td></table>'
addTopImages("video");
if (eval(GM_getValue("show", "[true,true,true,true,true]"))[1]) {
videoString = "<table><tbody><tr>"
whatever = 0;
for (i = 0; i < 4; i++) {
whatever = res.indexOf('<div id="res-' + i)
if (whatever == -1) break;
video = "<a href=\"znerp\">" +
res.slice(res.indexOf('<img', whatever),
res.indexOf('>', res.indexOf('<img', whatever))).replace(/\/0.jpg/, "/1.jpg") +
" width=120px title=\"" +
res.slice(res.indexOf('<div class="rl-snippet">', whatever) + 24,
res.indexOf('</div>', res.indexOf('<div class="rl-snippet">', whatever))).replace(/<b>/g, "").replace(/<\/b>/g, "") +
"\"></a>";
video += "<br>" + res.slice(res.indexOf('>', res.indexOf('<div class="rl-title', whatever))+1,
res.indexOf('</div>', res.indexOf('<div class="rl-title', whatever))) + "<br>";
videoLocation = res.slice(res.indexOf('href="', res.indexOf('<div class="rl-watchon">', whatever)) + 6,
res.indexOf('" target=', res.indexOf('<div class="rl-watchon">', whatever)))
video = video.replace(/href="znerp"/, "href=\"" + videoLocation + "\"").replace(/href="\//, "href=\"http://video.google.com/");
videoString += "<td>" + video + "</td>";
if (i%2 == 1) videoString += "</tr><tr>";
}
videoDiv.innerHTML += videoString + "</tr></tbody></table>";
}
addEventListeners("video");
videoImages = videoDiv.getElementsByTagName("img");
for (i = 3; i < videoImages.length; i++) {
thisImage = videoImages[i];
if (thisImage.src.match(/\/[1-3]\.jpg/)) {
thisImage.style.border = "2px solid #00ff00"
thisImage.addEventListener(
'mouseover',
function(event) {
animate(this)
},
true);
thisImage.addEventListener(
'mouseout',
function(event) {
window.clearTimeout(newGlobalTimer);
},
true);
}
}
}
}
});
}
function addWiki() {
wikiurl = "http://en.wikipedia.org/wiki/" + href.match(/[&?]q=([^&]*)(?:&|$)/)[1].replace(/%20|\+/g, "_").replace(/%22/g, "").replace(/_[a-z]/g, toUpCase);
if (document.getElementById("wiki"))
wikiDiv = document.getElementById("wiki");
else {
wikiDiv = document.createElement("div");
wikiDiv.setAttribute("class", "wiki");
wikiDiv.setAttribute("id", "wiki");
GM_addStyle('.wiki {font-size:0.75em;color:#333333;font-family:"Lucida Sans Unicode","Arial Unicode MS","Lucida Sans","Lucida Grande",Verdana,Helvetica,Arial,sans-serif;}'+
'.wiki h2 {font-size: 100%;}'+
'.wikiContent {overflow:auto;max-height:300px;}');
rightDiv.appendChild(wikiDiv);
}
GM_xmlhttpRequest({
method: 'get',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
'Content-type': 'application/x-www-form-urlencoded'
},
url: wikiurl,
onload: function(result) {
res = result.responseText;
if (res.indexOf('<p>', res.indexOf('<div id="contentSub">')) != -1) if (res.indexOf('Wikipedia does not have an article with this exact name') == -1) {
wikiDiv.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0" border="0" class="znerp" style="margin-top: 4px;margin-bottom: 2px;font-family:arial,sans-serif;" style="margin: 3px;"><td><span id="sd"><a href="'+wikiurl+'">en.wikipedia.org</a></span></td></table>'
addTopImages("wiki");
if (eval(GM_getValue("show", "[true,true,true,true,true]"))[2]) {
if (/ may( also)? refer to:<\/p>/.test(res)) {
endSearch = res.indexOf('<!-- end content -->');
oldFoo = 0;
foo = 0;
while (foo < endSearch) {
oldFoo = foo;
foo = res.indexOf('</ul>', foo) + 4;
}
wiki = res.slice(res.indexOf('<p><b>'), oldFoo);
} else if (res.indexOf('<p>"<b>') != -1) {
wiki = res.slice(res.indexOf('<p>"<b>'),
res.indexOf('</p>', res.indexOf('<p>"<b>'))+4);
} else if (res.indexOf('<p>A <b>') != -1) {
wiki = res.slice(res.indexOf('<p>A <b>'),
res.indexOf('</p>', res.indexOf('<p>A <b>'))+4);
} else if (res.indexOf('<p>An <b>') != -1) {
wiki = res.slice(res.indexOf('<p>An <b>'),
res.indexOf('</p>', res.indexOf('<p>An <b>'))+4);
} else if (res.indexOf('<p>The <b>') != -1) {
wiki = res.slice(res.indexOf('<p>The <b>'),
res.indexOf('</p>', res.indexOf('<p>The <b>'))+4);
} else if (res.indexOf('<p><i><b>') != -1) {
wiki = res.slice(res.indexOf('<p><i><b>'),
res.indexOf('</p>', res.indexOf('<p><i><b>'))+4);
} else if (res.indexOf('<p><b>') != -1) {
wiki = res.slice(res.indexOf('<p><b>'),
res.indexOf('</p>', res.indexOf('<p><b>'))+4);
} else {
wiki = res.slice(res.indexOf('<p>'),
res.indexOf('</p>')+4);
}
if (res.indexOf('class="image"') != -1) {
wikiImage = '<img ' +
res.slice(res.indexOf('src=', res.indexOf('class="image"')),
res.indexOf('"', res.indexOf('src=', res.indexOf('class="image"'))+5)+1) +
'" style="max-width:100px; float:right; margin-top: 13px; padding: 2px;">';
//wikiDiv.innerHTML += wikiImage;
} else if (res.indexOf('class="thumbimage"') != -1) {
wikiImage = '<img ' +
res.slice(res.indexOf('src=', res.indexOf('class="thumbimage"')),
res.indexOf('"', res.indexOf('src=', res.indexOf('class="thumbimage"'))+5)+1) +
'" style="max-width:100px; float:right; margin-top: 13px; padding: 2px;">';
//wikiDiv.innerHTML += wikiImage;
}
wikiDiv.innerHTML += "<div class='wikiContent'>" +
((res.indexOf('class="image"') != -1) ? wikiImage : "") +
wiki.replace(/href=\"\//g, "href=\"http://en.wikipedia.org/") +
"</div>";
}
addEventListeners("wiki");
}
}
});
}
function addDict() {
dicturl = "http://dictionary.reference.com/search?q=" + href.match(/[&?]q=([^&]*)(?:&|$)/)[1];
if (document.getElementById("dict"))
dictDiv = document.getElementById("dict");
else {
dictDiv = document.createElement("div");
dictDiv.setAttribute("class", "dict");
dictDiv.setAttribute("id", "dict");
GM_addStyle('.dict .me {display:inline;font-weight:bold;}'+
'.dict .pg {color:#558811;display:inline;font-style:italic;}'+
'.dict .prondelim {color:#880000;font-family:"Arial Unicode MS","Lucida Sans Unicode",Helvetica,Arial,sans-serif;}'+
'.dict .show_spellpr .pron {color:#880000;display:inline;font-family:Verdana,"Arial Unicode MS","Lucida Sans Unicode",Helvetica,Arial,sans-serif;font-size:0.9em;}'+
'.dict .prongoto {color:#116699;cursor:pointer;font-size:0.9em;text-decoration:underline;}'+
'.dict table.luna-Ent {background-color:#FFFFFF;color:#333333;display:block;padding-bottom:0pt;width:100%;}'+
'.dict .ital-inline {display:inline;font-style:italic;}'+
'.dict * {font-size:95%;line-height:1.25em;margin:0pt;}'+
'.dict .sectionLabel {color:#558811;display:inline;font-style:italic;}'+
'.dict .secondary-bf {display:inline;font-weight:bold;}'+
'.dict .homno {display:inline;font-size:0.7em;vertical-align:top;}'+
'.dictContent {overflow:auto;max-height:300px;}');
rightDiv.appendChild(dictDiv);
}
GM_xmlhttpRequest({
method: 'get',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
'Content-type': 'application/x-www-form-urlencoded'
},
url: dicturl,
onload: function(result) {
res = result.responseText;
if (res.indexOf('<div class="luna-Ent">') != -1) {
dictDiv.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0" border="0" class="znerp" style="margin-top: 4px;margin-bottom: 2px; margin: 3px;"><td><span id="sd" style="font-size:100%;"><a href="'+dicturl+'">Dictionary.com</a></span></td></table>'
addTopImages("dict");
if (eval(GM_getValue("show", "[true,true,true,true,true]"))[3]) {
dict = res.slice(res.indexOf('<div class="luna-Ent">')+22,
res.indexOf('</div>', res.indexOf('<div class="luna-Ent">')));
dictDiv.innerHTML += "<div class='dictContent'>" +
dict.replace(/href=\"\//g, "href=\"http://dictionary.reference.com/") +
"</div>";
}
addEventListeners("dict");
} else if (res.indexOf('<table>') != -1) {
dictDiv.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0" border="0" class="znerp" style="margin-top: 4px;margin-bottom: 2px; margin: 3px;"><td><span id="sd" style="font-size:100%;"><a href="'+dicturl+'">Dictionary.com</a></span></td></table>'
addTopImages("dict");
if (eval(GM_getValue("show", "[true,true,true,true,true]"))[3]) {
dict = res.slice(res.indexOf('<td>', res.indexOf('<!-- google_ad_section_start(name=def) -->'))+4,
res.indexOf('</td>', res.indexOf('<!-- google_ad_section_start(name=def) -->')));
dictDiv.innerHTML += "<div class='dictContent'>" +
dict.replace(/href=\"\//g, "href=\"http://dictionary.reference.com/") +
"</div>";
}
addEventListeners("dict");
}
}
});
}
function addForeignWiki() {
foreignWikiurl = "http://" + GM_getValue("wiki address", "en") + ".wikipedia.org/wiki/" + href.match(/[&?]q=([^&]*)(?:&|$)/)[1].replace(/%20|\+/g, "_").replace(/%22/g, "").replace(/_[a-z]/g, toUpCase);
if (document.getElementById("foreignWiki"))
foreignWikiDiv = document.getElementById("foreignWiki");
else {
foreignWikiDiv = document.createElement("div");
foreignWikiDiv.setAttribute("class", "wiki");
foreignWikiDiv.setAttribute("id", "foreignWiki");
//the following has already been done by the normal wiki stuff
//GM_addStyle('.wiki {font-size:0.75em;color:#333333;font-family:"Lucida Sans Unicode","Arial Unicode MS","Lucida Sans","Lucida Grande",Verdana,Helvetica,Arial,sans-serif;}'+
// '.wiki h2 {font-size: 100%;}'+
// '.wikiContent {overflow:auto;max-height:300px;}');
rightDiv.appendChild(foreignWikiDiv);
}
GM_xmlhttpRequest({
method: 'get',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
'Content-type': 'application/x-www-form-urlencoded'
},
url: foreignWikiurl,
onload: function(result) {
res = result.responseText;
if (res.indexOf('<p>', res.indexOf('<div id="contentSub">')) != -1) if (res.indexOf('Wikipedia does not have an article with this exact name') == -1) {
foreignWikiDiv.innerHTML = '<table width="100%" cellspacing="0" cellpadding="0" border="0" class="znerp" style="margin-top: 4px;margin-bottom: 2px;font-family:arial,sans-serif;" style="margin: 3px;"><td><span id="sd"><a href="'+foreignWikiurl+'">'+GM_getValue("wiki address", "en")+'.wikipedia.org</a></span></td></table>'
addTopImages("foreignWiki");
if (eval(GM_getValue("show", "[true,true,true,true,true]"))[4]) {
if (/ may( also)? refer to:<\/p>/.test(res)) {
endSearch = res.indexOf('<!-- end content -->');
oldFoo = 0;
foo = 0;
while (foo < endSearch) {
oldFoo = foo;
foo = res.indexOf('</ul>', foo) + 4;
}
wiki = res.slice(res.indexOf('<p><b>'), oldFoo);
} else if (res.indexOf('<p>"<b>') != -1) {
wiki = res.slice(res.indexOf('<p>"<b>'),
res.indexOf('</p>', res.indexOf('<p>"<b>'))+4);
} else if (res.indexOf('<p>A <b>') != -1) {
wiki = res.slice(res.indexOf('<p>A <b>'),
res.indexOf('</p>', res.indexOf('<p>A <b>'))+4);
} else if (res.indexOf('<p>An <b>') != -1) {
wiki = res.slice(res.indexOf('<p>An <b>'),
res.indexOf('</p>', res.indexOf('<p>An <b>'))+4);
} else if (res.indexOf('<p>The <b>') != -1) {
wiki = res.slice(res.indexOf('<p>The <b>'),
res.indexOf('</p>', res.indexOf('<p>The <b>'))+4);
} else if (res.indexOf('<p><i><b>') != -1) {
wiki = res.slice(res.indexOf('<p><i><b>'),
res.indexOf('</p>', res.indexOf('<p><i><b>'))+4);
} else if (res.indexOf('<p><b>') != -1) {
wiki = res.slice(res.indexOf('<p><b>'),
res.indexOf('</p>', res.indexOf('<p><b>'))+4);
} else {
wiki = res.slice(res.indexOf('<p>'),
res.indexOf('</p>')+4);
}
if (res.indexOf('class="image"') != -1) {
wikiImage = '<img ' +
res.slice(res.indexOf('src=', res.indexOf('class="image"')),
res.indexOf('"', res.indexOf('src=', res.indexOf('class="image"'))+5)+1) +
'" style="max-width:100px; float:right; margin-top: 13px; padding: 2px;">';
//wikiDiv.innerHTML += wikiImage;
} else if (res.indexOf('class="thumbimage"') != -1) {
wikiImage = '<img ' +
res.slice(res.indexOf('src=', res.indexOf('class="thumbimage"')),
res.indexOf('"', res.indexOf('src=', res.indexOf('class="thumbimage"'))+5)+1) +
'" style="max-width:100px; float:right; margin-top: 13px; padding: 2px;">';
//wikiDiv.innerHTML += wikiImage;
}
foreignWikiDiv.innerHTML += "<div class='wikiContent'>" +
((res.indexOf('class="image"') != -1) ? wikiImage : "") +
wiki.replace(/href=\"\//g, "href=\"http://"+GM_getValue("wiki address", "en")+".wikipedia.org/") +
"</div>";
}
addEventListeners("foreignWiki");
}
}
});
}
//for mouseover of image results.
function sqr(x) { return (x*x) }
function popUp(h,w,x,y,source) {
//function popUp(x,y,source) {
obj = document.getElementById('imagePopup');
obj.innerHTML = "<img src='" + source + "' style='max-width: 500px; max-height: 500px;'>"
obj.style.left = (x - Math.min(w, (w*500)/h, 500)) + 'px';
obj.style.top = y +'px';
obj.style.display = "inline";
}
//for mouseover of youtube video results
function animate(image) {
newGlobalTimer = window.setTimeout(
function() {
function increment(str, p1, p2, offset, s) {
return p1 + (parseInt(p2)%3 + 1) + ".jpg";
}
image.src = image.src.replace(/(.*)(\d)\.jpg/, increment);
animate(image);
},
750);
}
//for working out wikipedia links
function toUpCase() {
return arguments[0].toUpperCase();
}
//Add plus/minus, up and down images to google extra headings.
function addTopImages(div) {
imageTable = document.getElementById(div).getElementsByTagName("table")[0].getElementsByTagName("tr")[0];
imageToggleColumn = document.createElement("td");
imageToggleColumn.setAttribute("style", "width: 100px;");
imageToggle = document.createElement("img");
imageToggle.setAttribute("style", "float: right;margin-right: 3px;cursor:pointer;");
imageToggle.setAttribute("title", (eval(GM_getValue("show", "[true,true,true,true,true]"))[numberize(div)] ? "Don't s" : "S") + "how these search results");
imageToggle.src = (eval(GM_getValue("show", "[true,true,true,true,true]"))[numberize(div)] ? hide : show);
imageMoveUp = document.createElement("img");
imageMoveUp.src = moveup;
imageMoveUp.setAttribute("style", "float: right;margin-right: 3px;cursor:pointer;");
imageMoveUp.setAttribute("title", "Move up in list");
imageMoveDown = document.createElement("img");
imageMoveDown.src = movedown;
imageMoveDown.setAttribute("style", "float: right;margin-right: 3px;cursor:pointer;");
imageMoveDown.setAttribute("title", "Move down in list");
imageToggleColumn.appendChild(imageMoveUp);
imageToggleColumn.appendChild(imageMoveDown);
imageToggleColumn.appendChild(imageToggle);
imageTable.appendChild(imageToggleColumn);
}
//Add event listeners to the top images on headings
function addEventListeners (div) {
// up arrow
document.getElementById(div).getElementsByTagName("img")[0].addEventListener(
'click',
function() {
if (document.getElementById(div).previousSibling) {
for (i = 1; i < 5; i++)
if (eval(GM_getValue("order", "[0,1,2,3,4]"))[i] == numberize(div)) {
tempThing = eval(GM_getValue("order", "[0,1,2,3,4]"));
tempThing[i] = tempThing[i-1];
tempThing[i-1] = numberize(div);
GM_setValue("order", uneval(tempThing));
break;
}
document.getElementById(div).parentNode.insertBefore(document.getElementById(div), document.getElementById(div).previousSibling);
}
},
false);
// down arrow
document.getElementById(div).getElementsByTagName("img")[1].addEventListener(
'click',
function() {
if (document.getElementById(div).nextSibling) {
for (i = 0; i < 4; i++)
if (eval(GM_getValue("order", "[0,1,2,3,4]"))[i] == numberize(div)) {
tempThing = eval(GM_getValue("order", "[0,1,2,3,4]"));
tempThing[i] = tempThing[i+1];
tempThing[i+1] = numberize(div);
GM_setValue("order", uneval(tempThing));
break;
}
document.getElementById(div).parentNode.insertBefore(document.getElementById(div), document.getElementById(div).nextSibling.nextSibling);
}
},
false);
// plus/minus
document.getElementById(div).getElementsByTagName("img")[2].addEventListener(
"click",
function() {
znerp = eval(GM_getValue("show", "[true,true,true,true,true]"));
znerp[numberize(div)] = !znerp[numberize(div)];
GM_setValue("show", uneval(znerp));
if (this.src == hide)
while (document.getElementById(div).getElementsByTagName("table")[0].nextSibling)
document.getElementById(div).getElementsByTagName("table")[0].parentNode.removeChild(document.getElementById(div).getElementsByTagName("table")[0].nextSibling);
else
switch (div) {
case ("image"): addImages(); break;
case ("video"): addVideos(); break;
case ("wiki"): addWiki(); break;
case ("dict"): addDict(); break;
case ("foreignWiki"): addForeignWiki(); break;
}
this.src = ((this.src == show) ? hide : show);
},
false);
}
//enum type thing for results.
function numberize(div) {
switch (div) {
case ("image"): return 0; break;
case ("video"): return 1; break;
case ("wiki"): return 2; break;
case ("dict"): return 3; break;
case ("foreignWiki"): return 4; break;
}
}
//Function for showing/hiding foreign wiki things in future.
function toggleForeignWiki() {
if (GM_getValue("foreign wiki", false)) {
GM_setValue("foreign wiki", false)
} else {
GM_setValue("wiki address",
prompt("Please enter the version of wikipedia.org you want to use.\n\nThis should be two letters to replace 'xx' in the address 'xx.wikipedia.org'",
GM_getValue("wiki address", "en")))
GM_setValue("foreign wiki", true);
}
window.location.reload()
}
//the rest of the functions are for stupid icons.
function icon(name, url, index) {
this.name = name;
this.url = url;
this.x = 0;
this.y = 'px ' + index * -37 + 'px';
this.moving = false;
with (place.insertCell(-1)) {
innerHTML = '<a href="' + url + '" class="GM_blocklink"><div class="GM_stupidicon"></div>' + name + '</a>';
firstChild.addEventListener('mouseover', animstart(this), true);
firstChild.addEventListener('mouseout', animend(this), true);
this.obj = firstChild.firstChild;
}
this.obj.style.backgroundPosition = '0' + this.y;
}
function animstart(ico) {
return function(e) {
if (ico.moving) clearInterval(ico.moving);
ico.moving = setInterval(movebg, FRAMEDELAY, ico, 1);
}
}
function animend(ico) {
return function(e) {
if (ico.moving) clearInterval(ico.moving);
ico.moving = setInterval(movebg, FRAMEDELAY, ico, -1);
}
}
function movebg(ico, dir) {
if ((dir == 1 && ico.x == 6) || (dir == -1 && ico.x == 0)) { clearTimeout(ico.moving); return; }
ico.x += dir;
ico.obj.style.backgroundPosition = -ico.x * 52 + ico.y;
}