· 9 years ago · Dec 03, 2016, 11:23 PM
1// ==UserScript==
2// @name PassTheHeadphonesPlus
3// @author Indieana AKA interonaut, indieana@mailpuppy.com
4// @namespace http://www.myspace.com/interonaut
5// @description Enables easy artist discovery by adding similar artists, tags, short bio and last.fm & Myspace player to torrent details pages.
6// @include http*://passtheheadphones.me/torrents.php?id*
7// @include http*://ssl.passtheheadphones.me/torrents.php?id*
8// @include http*://passtheheadphones.me/artist.php?id*
9// @include http*://ssl.passtheheadphones.me/artist.php?id*
10// @include http*://waffles.fm/details.php*
11// @include http*://indietorrents.com/torrents.php?id*
12// @include http*://indietorrents.com/artist.php?id*
13// @include http*://jpopsuki.eu/torrents.php?id*
14// @include http*://jpopsuki.eu/artist.php?id*
15// @include http*://shellife.eu/details.php*
16// @include http*://shellife.eu/details_.php*
17// @include http*://libble.me/torrents.php?id*
18// @include http*://libble.me/artist.php?id*
19// @include http*://music-vid.com/details.php*
20// @include http*://www.torrentz.com/*
21// @include http*://www.torrentz.eu/*
22// @include http*://torrentz-proxy.com/*
23// @include http*://www.torrentsmirror.com/*
24// @include http*://kraytracker.com/torrents.php?id*
25// @include http*://kraytracker.com/artist.php?id*
26// @include http*://psychocydd.co.uk/details.php*
27// @include http*://rutracker.org/forum/viewtopic.php?t=*
28// @include http*://kat.cr/*
29// @include http*://thepiratebay.se/torrent/*
30// @include http*://thepiratebay.mn/torrent/*
31// @include http*://thepiratebay.gd/torrent/*
32// @include http*://thepiratebay.vg/torrent/*
33// @include http*://arenabg.ch/torrent-download*
34// @include http*://arenabg.com/torrent-download*
35// @grant GM_getValue
36// @grant GM_setValue
37// @grant GM_xmlhttpRequest
38// @date 2015/12/20
39// @version 28.3
40// @since 2007/04/25
41// ==/UserScript==
42//
43// ------------------------------------------------------------------------
44// Copyright (c) 2007-2008, indieana AKA interonaut, indieana@mailpuppy.com
45// Released under the GPL license
46// http://www.gnu.org/copyleft/gpl.html
47// - TODO add: related albums
48// - TODO fix: better artist recognition on TPB,Mininova and Torrentz
49// - TODO add: DeepBassNine, MetaCritic support
50// CHANGELOG
51
52// REMEMBER TO UPDATE VERSION NUMBER VAR :)
53// 28.3 2015/12/20 newstarshipsmell:
54// change: Now loads on TPB Audio > FLAC and Audio > Other, but the search icons still don't appear on any pages.
55// change: What.CD artist truncation variable was not working, commented it out at line 386 and hardcoded feature into What.CD Hydra code at lines 669-671.
56// add: search link to Arena, doesn't load script there yet
57// change: URLs updated
58// remove: IP addresses
59// 28.2 2015/12/03 newstarshipsmell:
60// fix: Fixed the previous fix so it doesn't break on artist.php
61// change: Added an option (default on) that on What.CD truncates ' (string)' from artist names, so artists with 'englishname (foreignname)' will typically load the desired results from Last.fm. Option to turn it off since it will interfere with other artist names that include ()s.
62// change: Changed the more link for What.CD (when you click the artist name next to '[ load similar ]') it will now perform a torrents.php search instead of artist.php search - since the relevant artist page is already linked to the artist name at the top of the page, and this way you can easily search the torrents if you landed on an undesired artist page.)
63// 28.1 2015/12/02 newstarshipsmell:
64// fix: Fixed the What.CD widget so it always inserts OiNKPlus below the Info box (Collage listings would mess this up previously.)
65// 28 2015/11/27 newstarshipsmell:
66// add: re-added Shellife (it was added before but wouldn't run on Shellife.)
67// add: added search links for RuTracker and Kickass Torrents.
68// fix: updated the Last.fm API calls to 2.0 so they work again.
69// change: moved the API key variable up with the rest of the "settings." Someday I'll figure out how to add these as menu options... This key must be obtained/added by each user.
70// change: added SIMILAR_ARTISTS_COLOR setting
71// change: added color to similar artist list - more green, more similar, more red, less similar. But it breaks the script from reloading tags/bio/picture/similar artists when clicking on similar artists, so by default it's turned off until I can figure out how to make it work properly.
72// change: various variable/setting names
73// remove: The SSL setting for What.CD, since it's obsolete.
74// 27 2015/06/07 newstarshipsmell:
75// add: Setting for Qobuz search to set country/language, rather than UK/English.
76// change: Updated the include URLs/IPs
77// change: Updated some of the favicons, commented out some of the excess search links (but left the code in for them.)
78// fix: Cleaned up some search urls that were passing ampersands improperly, tweaked some others for better results.
79// remove: defunct sites.
80// 26 2014/11/07 newstarshipsmell:
81// add: boolean variable USE_SPOTIFY_APP to set whether the Spotify link opens in the browser or the application.
82// add: boolean variable WHATSSL to set whether the Trackers: link for What.CD uses SSL or not.
83// add: links for Tidal, Magnatune, ScnLog, Plixid and AllLossless.
84// change: updated most favicons with higher quality 32x32 icons.
85// change: removed anonymizing link.
86// fix: SoundCloud link.
87// 25 2014/10/01 newstarshipsmell:
88// remove: Completely removed the Last.fm and Myspace players, since neither of them will ever work again.
89// change: Updated the @include *xxx.xxx.xxx.xxx/* lines to all active trackers' current IPs.
90// remove: All the @include lines and site_functions for defunct trackers: Mininova, scenetorrents, scenesound, christiantorrents,
91// tracker.vipv2.org, exodusmusic, ac-d-l-u-ge.org.uk.
92// change: Commented out the site_functions for trackers that were never enabled, but are still active: ArenaBG, FunkyTorrents, and Romanian
93// Metal Torrents.
94// add: External Links for Spotify, WiMP, Qobuz, Beatport, Bleep, Boomkat, Digital Tunes, Juno Download, passtheheadphonespeopleplay, eBay, GEMM,
95// MusicStack, CDandLP, Big Cartel, Int'l Amazons, Google+, Twitter, Tumblr, Vimeo, freedb, ReverbNation, Filestube, IsraBox, Exystence,
96// Kwezz, MusicDL, New Album Releases, No Data.
97// remove: External Links: Imeem, Seeqpod, RIAARadar (defunct) and Foxytunes (defunct, redirects to Yahoo)
98// change: Updated External Links' Search URLs and Favicons as needed.
99// change: Replaced External Links' tooltip titles with site summaries from Wikipedia or the respective sites' About Us pages.
100// change: Moved the sites'/trackers' faviconized links underneath the Last.fm biography.
101// change: Grouped the External Links under Streaming, Webstores, CD Stores, Amazon, Social Media, Music Databases, Music Blogs, and Other.
102// change: Replaced 16x16 base64 favicons with resized 32x32 favicons.
103// add: string variable ICON_SIZE to set favicons to display at any size; default is 16.
104// add: string variable ICON_PADDING to set favicons' padding to any size; default is 1.
105// add: string variable SITES_SPACING to add extra linebreaks between External Links' groups if desired.
106// change: Cleaned up/alphabetized the External Links' var defs.
107// I have not tested Kraytracker, Libble, MusicVids, Torrentz or Rockbox - any or all of them may not work correctly or at all.
108// 24 2014/09/29 newstarshipsmell:
109// fix: Added @grant GM_getValue, GM_setValue, GM_xmlhttpRequest so script would run again in Firefox/Greasemonkey.
110// see http://wiki.greasespot.net/@grant
111// add: JPopsuki site_function/Hydra Link
112// fix: indietorrents site_function (Gazelle upgrade for indietorrents previously broke OiNKPlus on indietorrents; it's fixed now, but the
113// Search URL to indietorrents passes spaces as %20 and their site does not process them correctly, so artist names including spaces will
114// return zero results. Not sure how to fix it.)
115// 23 2011/11/23 Sepulcrum:
116// Fixed parsing songs from myspace page.
117// 22 2011/08/05 Sepulcrum:
118// Changed myspace search results parsing to use the first result that contains the search term in the myspace page title rather than the first
119// result on the page
120// Display the found artist and link to the myspace profile that the songs were extracted from
121// 21 2011/08/04 newstarshipsmell:
122// Removed shellife.eu/67.228.39.196 from the inclusion list (shellife site update broke the script long ago; they have their own site-specific
123// OiNKPlus fork now.)
124// Updated favicons for MySpace, Hypem, Shellife and Libble
125// Changed searchlinks for AllMusic (old google:site string was broken, replaced with regular artist search), What.CD (artists.php instead of
126// torrents.php), Waffles.fm (sorts results by year descending), and Shellife.eu (exact matches only.)
127// Added external links for Facebook (only searches Music Pages, i.e. won't return Groups for older/inactive bands), BandCamp (onsite search is
128// just a google:site+"query" string, same here), and MusicBrainz (artist search.)
129// 20 2011/07/21 Sepulcrum:
130// Exclude myspace charts tracks
131// 19 2011/07/15
132// gondaba: Got MySpace functionality back by adding the tracks as links that can be played/paused on click
133// Sepulcrum: Changed to get the songs from the artists Songs page so we get them all
134// 18 2011/04/06 Sepulcrum:
135// Fixed parsing myspace results page
136// Commented out lastfm player code as it hasn't worked in a long time
137// Removed metalbits and stmusic links
138// Added external links for Grooveshark and Soundcloud
139// Updated update-notifier link so there should now be update notifications
140// Chrome: Use localstorage instead of cookes for GM_getValue, GM_setValue functions
141// 17 2011/02/25 Sepulcrum:
142// Changed the myspace player scraper to just pull the div tag for bandMusicPlayer and inject that into the page rather than extracting the
143// flashvars and using the swf hosted on naptoon
144// 16 2011/01/11 Sepulcrum:
145// Fixed not finding artist page correctly from results
146// 15 2010/11/22 Sepulcrum:
147// Changed myspace search url to search music artists rather than the whole of myspace
148// 14 2010/11/16 Sepulcrum:
149// Fixed myspace player support
150// Changed to use myspace search instead of google as google keeps focing us to use captchas every now and then
151// 13 2010/04/16
152// - add: support for music-vid.com (Sepulcrum)
153// - change: Removed ScT (R.I.P.)
154// - fix: replaced passtheheadphones.me artist search (it's it's now ID based) with torrent search
155// 12 2009/01/28
156// - fix: MySpace player fix, thanks gondaba for the fix
157// 11 2008/09/30
158// - fix: yet another MySpace player fix (these guys change their player code like panties)
159// - add: site support for Rockbox, Shellife/MBT and Acid-Lounge
160// 10 2008/09/19
161// - fix: MySpace player broken
162// 9 2008/09/03
163// - change: tidied up layout
164// - change: switched to new last.fm api
165// - add: What.me SSL support
166// - change: Use exact artist search where possible
167// 8 2008/06/13
168// - fix: indietorrents.com domain recognition
169// - add: OiNKPlus shown on artist pages on What.me
170// - add: passtheheadphones.me https browsing
171// - add: support for torrentz
172// - fix: OiNKPlus shown above comments on What
173// - fix: OiNKPlus shown above artist info on TPB
174// 7 2008/04/16
175// - fix: phrase quotes on The Pirate Bay
176// - add: Gazelle support
177// - fix: fixed Google search since MySpace player wouldn't show in rare cases
178// 6 2008/03/21
179// - add: support for indietorrents, metalbits finally
180// - fix: ct support
181// - fix: MySpace player working again
182// - change: read more abstract is now shown inline instead of external page
183// - fix: load similar will now not reload present artist information
184// 4 2008/02/06 Same as 3.02, considered stabe now
185// 3.0.2 2008/01/21 New site support
186// - add: support for SceneTorrents, SoftMp3.org, KrayTracker, arenabg.com, MetalTorrents, TheMusik.org, WLM, vipv2.org
187// - fix: Improved MySpace google search query
188// - fix: oinkplus not showing up on unrcognzied artists
189// - change: update ip addresses of several trackers, welcome to sweden!
190// - change: TPB allows phrase search
191// - change: new categories on waffles
192// - fix: extreme lag caused by caching, caching disabled now
193// - change: More on these sites
194// - add: external link to PureVolume
195// - change: shorten external links names
196// - fix: search query on waffles changed
197// - fix: passtheheadphones.me suppport, passtheheadphones.me details page structure changed
198// - change: removed prototype framework at cost of ugly code
199// 3.0.1 2007/11/20 small bugfix
200// - fix: passtheheadphones.me site layout changed
201// 3 2007/11/08 Second beta, the HyDrA Release
202// - add: support for various sites including Waffles.fm, What.me, Stmusic.org, Libble.com, ThePirateBay.org, Mininova.org and
203// FunkyTorrents.com
204// - add: search bar to lookup artist with Oinkplus
205// - add: new browsing capabilities by navigating deep into similar artists (browsing history)
206// - add: new external links to Hypemachine, SeeqPod, RIAA Radar and Pandora
207// - fix: avoid sending referer for flash content and artist logo
208// Thanks and credits to Drew McLellan for Flash Satay and Marcus Granado for binary XHR [http://mgran.blogspot.com]
209// - fix: speed up by not loading unneccessary images and objects in fetched html,intepret code as plain text instead
210// - fix: remove script tags or embedded stuff in abstracts, less ressource consuming and better security
211// - fix: small toggle icons are now hard-coded base64 encoded data streams
212// - fix: abstracts now showing up again
213// - fix: don't show Oinkplus in Apps etc.
214// - fix: smaller bugfixes and code improvements
215// 2 2007/06/03 Beta test ended, first stable version
216// minor bugfixes, added display toggle
217// added more external links
218// 1 2007/04/25 Original version - beta
219//
220// This script is for use with several torrent trackers
221// It adds information to torrent details pages.
222// ------------------------------------------------------------------------
223//
224// FEATURES
225// - data from last.fm
226// similar artists,
227// tags,
228// short bio,
229// preview player
230//
231// - data from Myspace.com
232// preview player
233//
234// - links to external ressources
235// last.fm, myspace, imeem, foxytunes, allmusic, wikipedia, discogs, google, amazon and others
236//
237// ------------------------------------------------------------------------
238//
239// IMPORTANT NOTICE
240// The script does not and will not do automatic searches on the site it runs on,
241// because it is very harmful to the site's performance. If you had the
242// great idea of implementing such a feature you are STRONGLY advised not to do so.
243// OiNKPlus is not related to the supported sites in any way. Use at own risk.
244// Some functions were created by the Platypus extension.
245// The script may frequently break, therefore it will automatically check for updated
246// versions every now and then.
247// The author does not claim the code to be elegant.
248// Ok? Fine.
249// Suggestions, feedback and contributions welcome.
250//
251//
252// FUTURE DEVELOPMENT
253// If you would like to see this script to work with another site not supported yet,
254// like another public or private tracker, get in contact with me (indieana@mailpuppy.com),
255// I will gladly port it to that site. Please remind, that I need to be invited, if
256// the site is private, though.
257// Please refrain from simple tinkering to make it work with other sites, in case you
258// don't want to seriously maintain the script. This rushing ahead attitude has shown to
259// result in a lot of confusion among users and unsupported or even buggy code in the past.
260// On the other hand, the GPL license gives you all the freedom, for example if you seriously want
261// to improve the script. Please let me know, I would love that and I'm curious!
262//
263//
264// CREDITS
265// * My greatest respect goes to oinkylicious Alan, for selflessly driving the amazing
266// community that OiNK was. His excellent vision and talent of leadership have impressed
267// and motivated me eversince I have been a proud member of the site. It was for his
268// generous front paging to get the word about Oinkplus spread and opening it up to
269// a broader audience.
270// * Many thanks go also out to the fellow OiNKers, that provided suggestions, bug fixes,
271// spread the word or even went as far as porting the script to other browsers. Thanks go to
272// Eighty, ar33ome3, )deckstream(, evilman, lhnz, the_e_male among all the other dedicated users
273// that found very nice words and placed themselves in a 1000 replies O+ thread :)
274// * Thanks to the codemonkeys, that open up their code, especially those,
275// that code/libraries the script makes use of. The is remarked in the code.
276// * Love is sent out to the wonderful people over at Last.fm that provide the excellent, reliable
277// webservice, this script relies on. Sign up for their great subscription service!
278// * At last lovely greetings to everyone supporting the hydra!
279//
280// Enough pathos,
281// have fun!
282//
283// ------------------------------------------------------------------------
284// Developed under Kubuntu Linux, Kate
285// ------------------------------------------------------------------------
286(function () {
287
288// -- [Main] --------------------------------------------------------------------------------------
289
290function main() {
291 EventNotifier = {
292 observers: new Array(),
293
294 /*
295 Function: addObserver
296 Registers a new object as observer
297
298 Parameters:
299 observer - Observer (should implement message function to be notified)
300 sender - Sender object (default:null) If not null, observer will only received message from this object
301 */
302 addObserver: function(observer, sender) {
303 sender = sender || null;
304 this.removeObserver(observer);
305 this.observers.push({observer:observer, sender:sender});
306 },
307
308 /*
309 Function: removeObserver
310 Unregisters an observer
311
312 Parameters:
313 observer - Observer
314 */
315 removeObserver: function(observer) {
316 //this.observers = this.observers.reject( function(o) { return o.observer == observer });
317 var results = [];
318 this.observers.forEach(
319 function(o) {
320 if (o.observer != observer) {
321 results.push(o);
322 }
323 });
324 this.observers = results;
325 },
326
327 /*
328 Function: send
329 Send a new message to all registered observers
330
331 Parameters:
332 sender - Sender object (can be null)
333 eventName - Event name (observers have to implement this method)
334 options - Object or Hash table (for multiple options) of sending event (default null)
335 */
336 send: function(sender, eventName, options) {
337 options = options || null;
338 this.observers.forEach( function(o) {
339 if ((o.sender == null || o.sender == sender) && o.observer[eventName])
340 o.observer[eventName](sender, options);
341 });
342 }
343 }
344
345 function deserialize(name, def) {
346 return eval(GM_getValue(name, (def || '({})')));
347 }
348
349 function serialize(name, val) {
350 GM_setValue(name, uneval(val));
351 }
352
353 var VERSION = 28.3;
354 var CACHE_NAME = "OINKPLUS_CACHE";
355 GM_setValue(CACHE_NAME,0);
356 var CACHE_SIZE = 75;
357
358// USER VARIABLES
359// *** Go ahead and change the settings with descriptions below as you like ***
360
361 var LASTFM_API_KEY = "64ac5b18a00509df1f4bf31509e62ed1";
362 //You'll need to get your own Last.fm API Key for the userscript's Last.fm functions to work.
363 //Go to http://www.last.fm/api/account/create to create one. You can put "OiNKPlus" for the Application name and description, and "http://oinkplus.blogspot.com/" for the Application homepage. You can leave the Callback URL empty. Click Submit and you'll be given a new key. Copy and paste that inside the quotes above.
364
365 var MAX_TAGS = 5;
366 // number of last.fm tags to list, ordered by weight; default is 5
367
368 var MAX_SIMILAR_ARTISTS = 25;
369 // number of last.fm similar artists to list, ordered by similarity; default is 25
370
371 var MAX_BIO_LENGTH = 450;
372 // sets how many characters from the last.fm artist bio will be displayed by default, adding (read more) link if longer; default is 450
373
374 var SIMILAR_ARTISTS_COLOR = false;
375 // list of similar artists will be colored green through yellow to red depending on similarity
376
377 var USE_SPOTIFY_APP = false;
378 // true: link launches search inside the Spotify app; false: link launches search in a new browser tab with the Spotify webplayer
379
380 var QOBUZ_COUNTRY = "gb-en";
381 // enter one of the following codes to change the country/language that loads on Qobuz (default is United Kingdom/English):
382 // Austria: "at-de" | Belgium/Français: "be-fr" | Belgium/Nederlands: "be-nl" | Switzerland/Deutsch: "ch-de"
383 // Switzerland/Français: "ch-fr" | Germany: "de-de" | Spain: "es-en" | France: "fr-fr" | United Kingdom: "gb-en"
384 // Ireland: "ie-en" | Luxembourg/Deutsch: "lu-de" | Luxembourg/Français: "lu-fr" | Netherlands: "nl-nl"
385
386// var TRUNCATE_PARENTHESES = true;
387// // On What.CD a lot of foreign artist names are formatted 'englishname (foreignname)', e.g. Kinoko Teikoku (ãã®ã“å¸å›½)
388// // Setting this option to true will (on What.CD only) truncate the parenthetical portion, so Last.fm will (usually) load the correct results.
389// // This will break the Last.fm functions for artist names that actually include parentheses (but not if the opening parenthesis is the first character in the artist name, e.g. '(The Sounds of) Kaleidoscope')
390// // So this can be turned off in case the user finds it annoying.
391// I could not get this variable to work inside the What.CD Hydra code, so I've simply hardcoded it turned on.
392// To remove it, completely delete lines 669-671, i.e. the "if (str.split(' (').length > 1) {...} \" lines.
393
394 var ICON_SIZE = "24";
395 // height+width size to resize favicon buttons to; default is 24 (images are stored as 32x32 PNGs)
396
397 var ICON_PADDING = "4";
398 // extra space around each favicon, gap between will be twice this value; default is 2
399
400 var SITES_LINE_BREAKS = 0;
401 // number of extra line breaks to insert between each pair of External Link groups; default is 0
402
403// /USER VARIABLES
404// *** End of user variables. Change anything else at your own risk! :) ***
405
406 var M_RE = 0;
407 var R_STRING = 1;
408 var TYPE_HTML = 0;
409 var TYPE_XML = 1;
410 var TYPE_BINARY=2;
411 var UPDATE_INTERVAL_HOURS = 2;
412
413 var UNLOADED = 0;
414 var LOADING = 1;
415 var LOADED = 2;
416 var CACHED = 3;
417 var FAILED = 4;
418
419 var TOGGLEABLE = true;
420 var NON_TOGGLEABLE = false;
421
422 var ALL_PADDING = "padding: " + ICON_PADDING + "px " + ICON_PADDING + "px " + ICON_PADDING + "px " + ICON_PADDING + "px";
423 var SITES_SPACING = "" //put <br> inside the quotes, each <br> will add another line between site groups.
424 for (var i = 0; i < SITES_LINE_BREAKS; i++)
425 SITES_SPACING += "<br>";
426
427 var RESOURCE_LOAD_TIMEOUT = 10000;
428
429 var CSS_CODE = ".OinkPlus { position:relative; max-width:1300px; }\
430 .explore { text-decoration:none; } \
431 .leftinfo {clear:both;}\
432 .floatright { border: solid #000000 0px;float:right;margin:0pt 0pt 10px 10px;padding:2px;text-align: left;} \
433 .floatleft { border: solid #000000 0px;float:left;text-align: left; width:140px; } \
434 .floatleft-small { border: solid #000000 0px;float:left;text-align: left; } \
435 .floatmiddle { border: solid #000000 0px;text-align: left; margin-left:140px;} ";
436
437 var BASIC_LAYOUT = "<div id=\"OinkPlus\" class=\"OinkPlus\"><div class=\"floatleft\"><h2><div id=\"ArtistName\"></div></h2> \
438 <div id=\"toggleLastFMSimilar\"></div> <b>Similar artists:</b><br> \
439 <div id=\"LastFMSimilar\"></div> \
440 <br> \
441 <div id=\"toggleHistory\"></div> <b>Browsing History:</b><br> \
442 <div id=\"History\"></div><br> \
443 </div> \
444 <div id=\"artistinfo\" class=\"floatmiddle\">\
445 <div class=\"floatright\"> \
446 <div id=\"ArtistSearchField\"></div><br> \
447 <div id=\"ArtistImage\"></div><br> \
448 </div><div id=\"ArtistTitle\"></div><div class=\"floatleft-small\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAJCAYAAAACTR1pAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJlJREFUeNpi%2FP%2F%2FPwMMMHUcqwNSjQyEwT5GmEaopnAgPgfE3whoTGNC1sTJwnRhQ7CGIRE2MrDANEnzsl3ZGa7lqCXCJQnkHyWkkQnqp3O5xpJSUE1EAZDGJiA2mnz2%2BdNrb749J1rjvwqreiC95unnX7qmCy7t3Xr3%2FTViNCKHKsjJIUB8Boh%2FEApVRrR4BGmuI8LCHQABBgC0YDp2HRMWcAAAAABJRU5ErkJggg%3D%3D\" style=\"vertical-align:bottom; margin-top:5px; margin-right:5px; !important;\" > </div> \
449 <div id=\"LastFMTags\"></div><br> \
450 <div id=\"toggleLastFMBio\"></div> <b>Abstract:</b><br> \
451 <div id=\"LastFMBio\"></div><br> \ \
452 <b>Trackers :</b><br> \
453 <div id=\"HydraLinks\"></div><br>\ \
454 <b>Sites:</b><br> \
455 <div id=\"ExternalLinks\"></div><br>\
456</div> \
457 <div id=\"UpdateNotify\" class=\"leftinfo\"></div> \
458 </div>";
459
460 var NAME = "OiNKPlus";
461 var UPDATE_MESSAGE = "<a href=\"%s\">A <font color=\"red\">new version</font> of " + NAME + " is available.</a>";
462 var RELEASE_INFORMATION_URL = "https://greasyfork.org/en/scripts/6430-oinkplus";
463 var LASTFM_ARTIST_URL = "http://www.last.fm/music/%s";
464 var LASTFM_INFO_URL = "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=%s&api_key=" + LASTFM_API_KEY;
465 var LASTFM_LINK = "<a href=\""+ "http://www.last.fm/music/%s\" target=\"_blank\"><img title=\"Last.fm is a music website, founded in the United Kingdom in 2002. Using a music recommender system called ''Audioscrobbler'', Last.fm builds a detailed profile of each user's musical taste by recording details of the tracks the user listens to, either from Internet radio stations, or the user's computer or many portable music devices. This information is transferred (''scrobbled'') to Last.fm's database either via the music player itself (Rdio, Spotify, Clementine, Amarok, MusicBee) or via a plugin installed into the user's music player. The data are then displayed on the user's profile page and compiled to create reference pages for individual artists. By April 2011, Last.fm had reported more than 50 billion scrobbles. It claimed 30 million active users in March 2009, and on 30 May 2007, it was acquired by CBS Interactive for UK£140 million (US$280 million). The site offers numerous social networking features and can recommend and play artists similar to the user's favourites; it also features a wiki system analogous to Wikipedia, wherein registered users can collaborate on hyperlinked information about tracks, releases (albums, etc.), artists, bands, tags, and record labels.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
466 var LASTFM_BIO_URL = "http://www.last.fm/music/%s/%2bwiki";
467 var LASTFM_BIO_LINK = "<a href=\""+ "http://www.last.fm/music/%s/%2bwiki\" target=\"_blank\">read more</a>";
468 var LASTFM_TAGS_URL = "http://ws.audioscrobbler.com/2.0/?method=artist.getTopTags&artist=%s&api_key=" + LASTFM_API_KEY;
469 var LASTFM_SIMILAR_URL = "http://ws.audioscrobbler.com/2.0/?method=artist.getSimilar&artist=%s&api_key=" + LASTFM_API_KEY;
470 var LASTFM_ALBUMS_URL = "http://ws.audioscrobbler.com/2.0/?method=artist.getTopAlbums&artist=%s&api_key=" + LASTFM_API_KEY;
471 var MYSPACE_URL = "https://myspace.com/search/artists?query=%s";
472 var MYSPACE_LINK = "<a href=\""+ MYSPACE_URL + "\" target=\"_blank\"><img title=\"Myspace is a social networking service with a strong music emphasis owned by Specific Media LLC and pop music singer and actor Justin Timberlake. Myspace was launched in August 2003 and is headquartered in Beverly Hills, California. In April 2014, Myspace had 1 million unique U.S. visitors. Myspace was founded in 2003 by Chris DeWolfe and Tom Anderson, and was later acquired by News Corporation in July 2005 for $580 million. From 2005 until early 2008, Myspace was the most visited social networking site in the world, and in June 2006 surpassed Google as the most visited website in the United States. In April 2008, Myspace was overtaken by Facebook in the number of unique worldwide visitors, and was surpassed in the number of unique U.S. visitors in May 2009, though Myspace generated $800 million in revenue during the 2008 fiscal year. Since then, the number of Myspace users has declined steadily in spite of several redesigns. As of May 2014, Myspace was ranked 982 by total web traffic, and 392 in the United States. Myspace had a significant influence on pop culture and music and created a gaming platform that launched the successes of Zynga and RockYou, among others. The site also started the trend of creating unique URLs for companies and artists.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
473 var ALLMUSIC_URL = "http://www.allmusic.com/search/artist/%22%s%22";
474 var ALLMUSIC_LINK = "<a href=\""+ ALLMUSIC_URL + "\" target=\"_blank\"><img title=\"AllMusic (previously known as All Music Guide or AMG) is an online music guide service website, owned by All Media Network, LLC. AllMusic was founded in 1991 by popular culture archivist Michael Erlewine as a guide for consumers. Its first reference book was published the following year. When first released onto the Internet, AMG predated the World Wide Web and was first available as a Gopher site. In late 2007, Macrovision (now Rovi Corporation) acquired AMG for a reported $72 million.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
475 var AMAZON_URL = "http://www.amazon.com/gp/search?ie=UTF8&keywords=%s&index=music";
476 var AMAZON_LINK = "<a href=\""+ AMAZON_URL + "\" target=\"_blank\"><img title=\"Amazon.com, Inc. is an American international electronic commerce company with headquarters in Seattle, Washington, United States. It is the world's largest internet company, based on revenue and number of employees. Amazon.com started as an online bookstore, but soon diversified, selling DVDs, VHSs, CDs, video and MP3 downloads/streaming, software, video games, electronics, apparel, furniture, food, toys, and jewelry. The company also produces consumer electronics-notably, Amazon Kindle e-book readers, Kindle Fire tablets, Fire TV and Fire Phone - and is a major provider of cloud computing services. Jeff Bezos incorporated the company (as Cadabra) on July 5, 1994 and the site went online as Amazon.com in 1995. Bezos changed the name cadabra.com to amazon.com because it sounded too much like cadaver. Additionally, a name beginning with ''A'' was preferential due to the probability it would occur at the top of any list that was alphabetized. Amazon has separate retail websites for United States, United Kingdom, France, Canada, Germany, Italy, Spain, Australia, Brazil, Japan, China, India and Mexico, with sites for Sri Lanka and South East Asian countries coming soon. Amazon also offers international shipping to certain other countries for some of its products. In 2011, it had professed an intention to launch its websites in Poland, Netherlands, and Sweden, as well. An Austrian website operates as part of the German website.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAARkSURBVFhHtVdLSyRXFO4fEYaQ1yoYskp8RXtUEkHBrAU3YXBUomgUYYgBdy50IWQWunDU2CEQp1VwoTGBtK1maMiDDGKMAZWBxOD4fratdnXX4+R8t6o6VZbVXRkqHxy76t5b5/vuOede7w3cxMXFxduXl5dN8Xj8gZ/GPhv4N8+gceLq6uqV8/Pz6YODA21vb492d3d9NfiEbxYxzWJeNmh1gPzk5OQvHkCSJJGmaeQ34BO+wcFcz/j9jkEfCPDMY+j4P4hvQlVVIYIjERXkyDlCA3VeAJFwwlGjo6MjOj4+pmQyKdq8TgDjmVNF5AMoOOTHy8enp6c0MjJCdXV1FAwGqaioSFh5eTk1NjbS3NwcybJsjHYHuFAXzH0/gArFSzbgg+XlZaqsrKTCwsKs1tnZKXKdCzs7O5RIJB54EoDBFRUVDrL8/HxHGwxRyhVR+AR3TgFw1NfXZyNAJMLhMK2urtLk5KRIgbW/trZW1EQ2eBYAR9XV1TaCxcXFzAzxOzo6ausvKyvLWQueBQBra2s0MzNDQ0ND1N/fL6rYBAREo1EqKCjICCgpKclZB/9JgAmQISKYHZbg+vo6xWIxIcoagdLSUv8FgHxzc5N6e3uppqaGiouLbaRW812Aoig0MDAg1ryVCGG3ht40XwVg5mNjYw6Sjo4OWlhYoO3tbbEBWYX4KoD/cQiHVvKenh7bMrtZhL4KWFpaspHDNjY2jF49QhMTE7Z+X1fB1NSUzTlsa2vL6NX3ifb29qxjboNnAbOzsw7noVBIzBwWiUQc/TCkCf1u8CwAS++mc6yGtrY2am1tdfSZhjHYqt3gWQBC3NLSciuJaVVVVdTV1WVra2hoID5rGF6ccBWgJU/xV38xgJXQ1NSUqXRzP8B7c3OzcHZ9fU319fWivbu7Wy9CpCl5RurOT6T8+T2pJyhe3fftAviD9A+fkrw6SpqM/f5fIYjEysqK2BMGBwdpfHxcrAbrcuQDBs3Pz2fa1L2nlP7uHqUjH1Nq+kOSQm+x32vR5x4BReIPWig1+YFQTaoihL0IRKEmnpOy9iWpR3+Q9DhImqr/l8xeAzxI/rmXpOE3KDXxPsm/DZMa52WlsRgBN0FoZ9JUgpS/Fykd/YSkL94k+elDkn8PCZ/mZLILAHiguh0jKVzGQl4XlgqXU/rJZ2JGylZUhFg9WCH1+Y+kPJsl+dfPKf3tRySN5enffP0eqTwOs0YaNCluONcFiCMZbizZDqXImcLqU4/vkvToVREV4fzRa3YbhnEfP6fGgyJqWvrKcMJRMZ8Z4MKkmfseIpCX+1jO4rgW1N1fRBhT39RxPjkyX73L9g4/3xVt6MMYDXXjmqbMsVxmAfoNiS8mT3BZsFa0O9gxooV64IIVhmcRQXdSE+DY399H/iOCHIASXJcgAuqybaEvCvg0Zo77xTpvUi8Z9Dp4wJ2zs7MwD1CRHxSJnwafh4eHMjgc5FbgusQRuY8KxQrxw+ALBZfJeQaBwD/EtTEAOD/fOwAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
477 var AMAZONAU_URL = "http://www.amazon.com.au/gp/search?ie=UTF8&keywords=%s&index=music";
478 var AMAZONAU_LINK = "<a href=\""+ AMAZONAU_URL + "\" target=\"_blank\"><img title=\"Amazon Australia did not contain a music section as of the last script update, and probably won't return a useful result.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAQnSURBVFhHtVdNSxxZFK2fMKvQTGbCrALZtV+oo5ISFNwLbo0KiqIYwjjgrha6cDe6MFF0cGFahSw0biLtR+jFzMAgjuNCZWDSICri92d3W1V9c8+rKq3qsroqoXLg2K/qVd1z3n33PetJubi4uHh2dXXVcn5+/ipMcswm/n1qyrhxfX39/dnZ2buDg4Ps/v4+7e3thUrERGw28Y7NRExZAxA/Pj7+xA9QOp2mbDZLYQMxERsarPUfXz8y5SWJR55Ax7cQzoWu68IEZyIuxDHnSA3cBQFMIghnjQ4PD+no6IhSqZS4F3QAeJ41dWReQsFhfoK8fHJyQiMjI9TQ0EDl5eVUXFwsWFlZSc3NzTQ/P0+qqppPewNaqAvWfiGhQnGRD3hhdXWVqqurqaioKC+7u7vFXPthd3eXLi8vXwUygIerqqpcYgUFBa57ILLkl1HEhLavAQTq7+93CCATsViM1tfXaXp6WkyBvb++vl7URD4ENoBAtbW1DoGlpaW7EeJ3dHTU0V9RUeFbC4ENABsbGzQ7O0vDw8M0MDAgqtgCDMTjcSosLLwzUFpa6lsHX2TAAsSQEYwOS3Bzc5MSiYQwZc9AWVlZ+AYgvr29TX19fVRXV0clJSUOUTtDN6BpGg0ODoo1bxdC2u2ptxiqAYx8bGzMJdLV1UWLi4u0s7MjNiC7kVAN8D8OEdAuriiKY5nlFmGoBpaXlx3i4NbWltlrZGhqasrRH+oqmJmZcQQHk8mk2WvsE52dnXmfeQiBDczNzbmCj4+Pi5GDCwsLrn4Q04R+LwQ2gKWXGxyroaOjg9rb2119FvEMtmovBDaAFLe1tT0oYrGmpoZ6enoc95qamoi/NcwobngayKZO8Ne4MIGV0NLSclfp1n6A69bWVhHs5uaGGhsbxf3e3l6jCDFNqVPSd/8g7f8PpB+jeI3YDxvgF25XfiF1fZSyKvb7eyPIxNramtgThoaGaHJyUqwGWZJIlhWSJIUUWRZEG/dkyWh7k/tdGdDSdLvQRplpWbgmXRPGvBCNKpR8odAKC3LlCaKNe9Eoscg9c6+FiVwDArpK6p99lH7zhDJTz0n95w3p57yssmxG4N6QEvmOI/9kEG3btRL5zSE4MZFrwssAwKPWdxKUjlWwkR8FM7FKuv34K2kbv5OWjJO+/3fgDFht/MLInQGcWPJ9lGbVG9L+HafM258p/fqxyIow9PoHQcwzT7sIqMgrgmjjniwZbaeoPQtGBp76f5azOa4Ffe8vMTWZ9w2UfsuZmYgaQczAkci9iBftRox3GXww+YjDgv0fjDfYDLKFeuCCtQxAnL9P6OVLu4AfTQM4q+G4BBP43Mq3hebCngGI58vCg0VogUUfnZ6exnBiQVFiowhCuwE/OsVBmwELOC7hxIJDA1aIH8VmIgJ9DWX6DPVWTxPwZPYuAAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
479 var AMAZONBR_URL = "http://www.amazon.com.br/gp/search?ie=UTF8&keywords=%s&index=music";
480 var AMAZONBR_LINK = "<a href=\""+ AMAZONBR_URL + "\" target=\"_blank\"><img title=\"Amazon Brazil did not contain a music section as of the last script update, and probably won't return a useful result.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAQmSURBVFhHtVdNSBtdFJ1ll12V8n1tcVXorv6hVqURFFwWBLdWBa2iCKWWunOhUJe6sCpaXNio0IXWTSX+lCzaQhFrXah88FUQDeJP/E/izOT2nTsZfZPJJFM6PXCSzLw395x3330v85RknJycPDg7O6s/Pj5+7iVFzFrxfT8hY8f5+fk/R0dH73d3d+OhUIh2dnY8JWIitjDxXpi5nZA1APGDg4OfogNFo1GKx+PkNRATsaEhtP4T17cS8ooiRh5Ew98QToau62xCZCLA4phzpAbu3AAmEURkjfb29mh/f58ikQjfczsA9BeaOjKvoOAwP24ePjw8pMHBQaqurqaioiLKy8tjlpSUUF1dHc3MzJCqqonezoAW6kJoP1VQobhIBzywtLREZWVllJubm5ZtbW0815mwvb1Np6enz10ZQOfS0lKbWHZ2tu0eiCxlyihiQjujAQTq7u62CCATfr+fVlZWaGJigqdAbq+qquKaSAfXBhCooqLCIjA/P381QnwPDQ1Z2ouLizPWgmsDwOrqKk1NTVF/fz/19PRwFZuAgUAgQDk5OVcGCgoKMtbBbxkwATFkBKPDElxbW6NgMMim5AwUFhZ6bwDiGxsb1NXVRZWVlZSfn28Rlem5AU3TqLe3l9e8LIS0y6k36akBjHx4eNgm0traSnNzc7S1tcUbkGzEUwPij4MDyuKdnZ2WZZZchJ4aWFhYsIiD6+vriVYjQ+Pj45Z2T1fB5OSkJTi4ubmZaDX2iZaWlrR9UsG1genpaVvwkZERHjk4OztrawcxTWh3gmsDWHrJwbEampubqampydZmEn2wVTvBtQGkuLGxMaWIyfLycmpvb7fcq62tJfGukYhih6OBeOQQn8ZFAlgJ9fX1V5Vu7ge4bmho4GAXFxdUU1PD9zs6OowixDRFwqRvfybt/4+kH6B4jdipDYgHLhdfkLoyRHEV+/21EWRieXmZ94S+vj4aGxvj1aBkKaT4UvNmpcFUbUw8a8uAFqXL2UaKTfjYNekaG3MCB+q08uZrhV59VCgUNojfuJfcj59NNsDQVVK/dFF04B7Fxh+T+n2A9GOxrOLCDOPakGxAFv4SzuKV8HrqKXqlNuJoABCj1reCFPUXCyN3mTF/CV1+ekna6lvSNgOkh75xEFkYYouLPiFO5POJK3HrxsOfbMhmBAZwYkn3UhpXL0j7MUKxd48o+uZfzgobenOH+eTZtbDJrKxFFoYBGDEoPqQ+eAbPIgP3M7+WC3OiFvSdrzw1sQ/VFH0nMjP6MK0B0wS+R0fFD6nPlQFAHEw+4bAg/8E4Q5hBtlAPomCdpkAWhyHHKQBwVsNxCSbwupVuC00GB0lThBg5fluE5SI0IURvhcNhP04sKEpsFG4oGzApG0kpbFI2YALHJZxYcGjACsnEP9uIFPoFsnxGBn8/F/4AAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
481 var AMAZONCA_URL = "http://www.amazon.ca/gp/search?ie=UTF8&keywords=%s&index=music";
482 var AMAZONCA_LINK = "<a href=\""+ AMAZONCA_URL + "\" target=\"_blank\"><img title=\"Amazon Canada\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAARBSURBVFhHtVddTCNVGO3TPhijDxqykVVjYjbok/wFWEAlQsI7Ca8IJBAISLIRE15WTMCER3hglwb8ZVvQjeFnTcQCbvqgJoawiAYQd5eVACH8tfy1pTM93nM77c60M+1srCc5befeO985893v3s51JOL4+PiN09PTRr/ffz2TFDHrxfdVTSYZZ2dnL/l8vju7u7uRnZ0dbG9vZ5SMydjCxB1h5rImGwXFDw4OHokBCAaDiEQiyDQYk7GpIbTWxXWWJu9wiCf3suP/EE6EqqrShMiER4pzzpkaurMDmmQQkTXs7e1hf38fgUBAttl9AI4Xmioz72DBcX7s3Hx4eIihoSHU1taipKQEBQUFkmVlZWhoaMD09DTC4bA22hrUYl0I7fcdrFBepAJvWFhYQEVFBfLz81Oyo6NDznU6bG1t4eTk5LotAxxcXl6eJJabm5vURjJL6TLKmNROa4CBent7DQLMhMvlwtLSEsbGxuQU6PtrampkTaSCbQMMVFVVZRCYm5uLPyG/nU6nob+0tDRtLdg2QCwvL2NiYgKDg4Po6+uTVRwDDXg8HuTl5cUNFBUVpa2DpzIQA8WYET4dl+DKygq8Xq80pc9AcXFx5g1QfG1tDT09PaiurkZhYaFBVM+MG1AUBf39/XLN64WYdn3qY8yoAT758PBwkkh7eztmZ2exubkpNyC9kYwaEH8cMqBevLu727DMEoswowbm5+cN4uTq6qrWG82Q2+029Gd0FYyPjxuCkxsbG1pvdJ9oa2tLOcYMtg1MTk4mBR8ZGZFPTs7MzCT1k5wm9lvBtgEuvcTgXA2tra1oaWlJ6ouRY7hVW8G2Aaa4ubnZVCTGyspKdHZ2Gtrq6+sh3jW0KMmwNBAJHPIzeqGBK6GxsTFe6bH9gNdNTU0y2Pn5Oerq6mR7V1dXtAg5TYEjqFs/Q3n4A9QDFm80trkBccPFTx8ivOREJMz9/okRZmJxcVHuCQMDAxgdHZWroeiZS/jgxWfjvPHxjZTUj+W9yRlQgriYaUZo7F3pGqoijVmBgf7OuRynElHi9H/nxumPdw1t+rG817wG1DDCv/QgeOsVhNzvIHz/FlS/WFYiQBRPDFkZCP55Hw9zXpMMrf3xlAYI8dTqphdBV6kw8rJkyFWGi3sfQVn+DMqGB+rOb6YGfO7P4bs7hfUrz0uefD8F3zdfmxvgiSXVS2kkfA7l9xGEbl9D8Ga2zIo0dPOKpJmBx9fy8eB1re3NbDzIycbjt4stM3A1/Wu5MCdqQd3+VU5NaKoWwdsiM1+8ZWrgn+r3sP7qC/E2/mabqQFCHEzu8bCg/4OxhjDDbIlgEAVrZiBm4q+s5yQfaeKWBnhW43GJJvi6lWoLTYSVgb1PP4HvSyeOx7+Sv1MaIIRo1tHRkYsnFhYlNwo7tDJAshj930aLL0b9WIOBGHhc4omFhwaukHT8bxvRJfwLyfmYizsmtAgAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
483 var AMAZONCN_URL = "http://www.amazon.cn/gp/search?ie=UTF8&keywords=%s&index=music";
484 var AMAZONCN_LINK = "<a href=\""+ AMAZONCN_URL + "\" target=\"_blank\"><img title=\"Amazon China\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPRSURBVFhHtVdLSxtRGJ2f0JWUvuhK6K6+UJtIFRTcC9lqFBRFEaQW3GWhC5e68BG0uNCo4ELrphK1kkVbKGJtFiqFKoiKaOI7mTiPr/fczJiZjEnGdnrgZJi5d75z7ne/ezNXSMfl5eWr6+vrpouLiy4nyWJ62TVfk7Hi5ubmyfn5+dzx8bF6dHREh4eHjhIxEZuZmGNmHmuySUA8Eonssg4kiiKpqkpOAzERGxpM6xe7z9PkBYGNPISG/yGcDkVRuAmWiSAXx5wjNXBnBzCJICxrdHJyQqenpxSPx/kzuwNAf6apIPMCCg7zY+flaDRKo6Oj5PF4qLy8nIqLizndbjc1NjbS4uIiSZKk9c4MaKEumHaDgArFTTbghfX1daqqqqKioqKs7Ozs5HOdCwcHB3R1ddVlywA6V1RUWMQKCgosz0BkKVdGERPaOQ0gUF9fn0kAmQgEArS5uUkzMzN8CoztdXV1vCaywbYBBKqpqTEJrKys3I0QV7/fb2p3uVw5a8G2ASAcDtP8/DwNDQ1Rf38/r2IdMBAMBqmwsPDOQGlpac46eJABHRBDRjA6LMGtrS0KhULclDEDZWVlzhuA+M7ODvX29lJtbS2VlJSYRI103IAsyzQwMMDXvFEIaTemXqejBjDysbExi0hHRwctLy/T/v4+34CMRhw1wP44eECjuM/nMy2z9CJ01MDq6qpJHNze3tZakxmanp42tTu6CmZnZ03Bwb29Pa01uU+0t7dn7XMfbBtYWFiwBB8fH+cjB5eWliztIKYJ7Zlg2wCWXnpwrIa2tjZqbW21tOlEH2zVmWDbAFLc0tJyr4jO6upq6u7uNj3zer3EvjW0KFZkNKDGo/hN3mjASmhqarqrdH0/wH1zczMPFovFqL6+nj/v6elJFiGmKX5GysEXkn9/IiWC4k3Gvt8Ae+H28zuSNv2kStjvU0aQiY2NDb4nDA4O0uTkJF8NlYJAvr8k3rVmQBbpdqmFEjOV3DUpMjeWCQhEOiu1a8Oj1LMsxLv314AikfS1l8SRF5SYfkvSjxFSLtiyUpkZjpQhbgDCE0x0l9GnCdgwkdkAwEat7IdIDLiYkeeciYCbbtfekxz+QPJekJSj76kM6AZeasJ2DeDEku2jVJViJP8cp8TUGxKHn/KscEPDzzjvDEAQ4sjGA6cgP/dnOTPHakE5/ManJvHRQ+IUy8zE65SBvyA3ALCDyRoOC8Y/mMxgZpAt1AMrWEcM4KyG4xJM4HMr2xaaDkcMAEw07+zsLIATC4oSG4UdOmZAB45LOLHg0IAVkov/thEJ9AdN+Dh+5wMkvQAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
485 var AMAZONDE_URL = "http://www.amazon.de/gp/search?ie=UTF8&keywords=%s&index=music";
486 var AMAZONDE_LINK = "<a href=\""+ AMAZONDE_URL + "\" target=\"_blank\"><img title=\"Amazon Germany\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPISURBVFhHtVdLSxtRGM2vkNLXUuiuvlCbSCMouBeytTGgKIogteAui7hwqQutwZQuNEZwoXVTiVrJoi0UsWkWKoU2EJIgGjU+8nBm8vWem0RnMnmMcXrgKDP33u+c+93v3sw1FOLi4uLF1dWVLR6Pj+pJFtPK/tfmZNS4vr5+fH5+vnJ0dJSJRqMUiUR0JWIiNjOxwsw8yslmAfFYLPaXdaBUKkWZTIb0BmIiNjSY1m/2XJOTNxjYzH1o+B/ChZAkiZtgmfBycaw5UgN3WgCTCMKyRsfHx3RyckLJZJK/0zoB9GeaEjJvQMFhfbQMPj09pbm5ObJYLNTa2kqNjY2cJpOJent7aX19nQRByPUuDWihLpj2GwMqFA/lgAG7u7vU3t5ODQ0NZTkyMsLXuhLC4TBdXl6OajKAzm1tbSqxuro61TsQWaqUUcSEdkUDCDQxMaEQQCbcbjf5/X7yeDx8CeTt3d3dvCbKQbMBBOrs7FQIbG1t3c4Q/51Op6LdaDRWrAXNBoBAIECrq6s0MzNDk5OTvIrzgAGv10v19fW3BpqbmyvWwb0M5AExZASzwxbc398nn8/HTckz0NLSor8BiB8eHpLD4aCuri5qampSiMqpuwFRFGlqaorvebkQ0i5PfZ66GsDM5+fnVSLDw8O0ublJoVCIH0ByI7oaYD8cPKBc3G63K7ZZYRHqamB7e1shDh4cHORasxlaWlpStOu6C5aXlxXBwWAwmGvNnhNDQ0Nl+xSDZgNra2uq4C6Xi88c3NjYULWDWCa0l4JmA9h6hcGxGwYHB2lgYEDVlif64KguBc0GkOL+/v6iInl2dHTQ2NiY4p3VaiX2rZGLokZJA5nkKf5mH3LATrDZbLeVnj8P8NzX18eDJRIJ6unp4e/Hx8ezRYhlSp6RFP5K4p/PJMVQvNnYxQ2wATdf3pLgd1JGwHl/ZwSZ2Nvb42fC9PQ0LSws8N3APqoeRlUGxBTdbPRT2mPmrkkSubFSKBr0Piw0wCEJJHxzUOr9c0ovvSbh53uS4mxbZZgZjjtDRYPeh0UNAGzWUshHKbeRGXnGmXab6GbnHYmBDyQGvSRFf5CZBbFXSYzFR6m13EdpRkiQ+MtF6cVXlJp9wrPCDc0+5UQgNpWqiLHIQG3lz3JmjtWCFPnOlyb9yUKpRZaZjy8fbgBgF5MdXBbkPzClwcwgW6gHVrB2Mwtmr44Yyw3grobrEkzgc6vcEVoIO4JRdcRYbgBgojVnZ2du3FhQlDgotFA3A3nguoQbCy4N2CGVaGZpRKBqaDYb6B9ovzF+fnpAXwAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
487 var AMAZONES_URL = "http://www.amazon.es/gp/search?ie=UTF8&keywords=%s&index=music";
488 var AMAZONES_LINK = "<a href=\""+ AMAZONES_URL + "\" target=\"_blank\"><img title=\"Amazon Spain\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAP4SURBVFhHtVdLSxtRGJ1fIaWvpdBdfaFWpREU3AtuNQqKoghSC+6y0IVLXfhCiwuNCi60bhriI2TRFopY60Kl0ASCivh+JnFm8vU7NxOdyeQx1emBk2Hmzv3Oud/97s1cKRmXl5dvrq+vmy4uLrrsJMd08jVXkzHj5ubm+fn5+fzh4WHs4OCA9vf3bSViIjabmGczzzTZOCB+cnIS4BcoEolQLBYju4GYiA0N1vrN9zmavCTxyP1o+B/CyVBVVZjgTHiFOOYcqYE7K4BJBOGs0dHRER0fH1M4HBbPrA4A77OmisxLKDjMj5XOp6enNDo6SnV1dVRaWkqFhYWC5eXl1NjYSEtLSyTLsvZ2ekALdcHaDRIqFDeZgA7r6+tUWVlJBQUFGdnZ2SnmOhv29vbo6uqqy5IBvFxRUWESy8vLMz0DkaVsGUVMaGc1gEB9fX0GAWTC7XbT5uYmzc7OiinQt9fW1oqayATLBhCourraILCysnI/QlzHxsYM7WVlZVlrwbIBYGtrixYWFmhoaIj6+/tFFScAA16vl/Lz8+8NFBcXZ62DfzKQAMSQEYwOS3B7e5v8fr8wpc9ASUmJ/QYgvru7S729vVRTU0NFRUUGUT1tN6AoCg0MDIg1rxdC2vWpT9BWAxj5+Pi4SaSjo4OWl5cpFAqJDUhvxFYD/MchAurFXS6XYZklF6GtBlZXVw3i4M7OjtYaz9DMzIyh3dZVMDc3ZwgOBoNBrTW+T7S3t2d8JxUsG1hcXDQFn5iYECMHPR6PqR3ENKE9HSwbwNJLDo7V0NbWRq2traa2BPEOtup0sGwAKW5paUkpkmBVVRV1d3cbnjmdTuJvDS2KGWkNxMKn+I3faMBKaGpquq/0xH6A++bmZhHs9vaW6uvrxfOenp54EWKawmek7n0l5c8XUk9QvPHYqQ1wh7u1DyRvjlFMxn7/YASZ2NjYEHvC4OAgTU1NidXgkCRyPZLoa86AEqE7TwtFZx3CNamKMJYOCESPJPqmrgFVJvlbL0VGXlN05j3JP0dIveBlFWMzAg+GXA4O5noc0Td9EfKo1ZCfIu4yNvJKMOoupzvfR1K2PpES9JJ68IOXGwejOAMBvq5J5OPAgQbtXmtLRfTFR6kz00dpTL4l5dcERaffUWT4hciKMDT8UlBvwOdj0Um+Njh4hC5xrxdMpjDAGcjN/lnO5rgW1P3vYmqin+soMs2ZmXxrzIAQl2jS1UABh4N8urZUFAYAPpj4cFjQ/8GkB5tBtlAPXLCmDCDtXFyYAksZAHBWw3EJJvC5lWkLTUaqIoR48rNUFEWYAIvmnJ2duXFiQVFio7DCJy/DZOC4hBMLDg1YIdn4tI1Ior+EQnEx4H1MygAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
489 var AMAZONFR_URL = "http://www.amazon.fr/gp/search?ie=UTF8&keywords=%s&index=music";
490 var AMAZONFR_LINK = "<a href=\""+ AMAZONFR_URL + "\" target=\"_blank\"><img title=\"Amazon France\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPBSURBVFhHtVdLSxtRGJ1fIaWvpdBdfaE2kUZQcC+4tTGgKIogteAui7hwqQutwZQuNIngQuumErWSRVsoYtMsVAptIKiIz/hIJs7j6z03E81k8pjieOBkmLl3vnPud797M1fIx8XFxYurqytXIpEYspIsppNdKzUZI66vrx+fn58vHB4eqgcHB7S/v28pEROxmYkFZuaRJpsBxE9OTv6yDiSKIqmqSlYDMREbGkzrN7uv0OQFgY08jIaHEM6HoijcBMtEiItjzpEauDMDmEQQljU6Ojqi4+NjSqVS/JnZAaA/01SQeQEFh/kx8/Lp6SlNT09TR0cHNTY2Um1tLafdbqeuri5aXl4mSZK03sUBLdQF034joEJxUwp4YXNzk5qbm6mmpqYkBwcH+VyXw97eHl1eXg6ZMoDOTU1NBrGqqirDMxBZKpdRxIR2WQMINDo6qhNAJvx+P0UiEQoGg3wKctvb29t5TZSCaQMI1NraqhNYW1u7HSGuXq9X126z2crWgmkDQDQapcXFRZqcnKSxsTFexVnAQCgUourq6lsD9fX1ZevgvwxkATFkBKPDEtze3qZwOMxN5WagoaHBegMQ393dJY/HQ21tbVRXV6cTzaXlBmRZpvHxcb7mc4WQ9tzUZ2mpAYx8ZmbGIDIwMECrq6sUj8f5BpRrxFID7I+DB8wVd7vdumWWX4SWGlhfX9eJgzs7O1prJkOBQEDXbukqmJ+f1wUHY7GY1prZJ/r7+0v2KQTTBpaWlgzBfT4fHzm4srJiaAcxTWgvBtMGsPTyg2M19PX1UW9vr6EtS/TBVl0Mpg0gxT09PQVFsmxpaaHh4WHdM6fTSexbQ4tiRFEDauoUv5kbDVgJLpfrttKz+wHuu7u7ebBkMkmdnZ38+cjISKYIMU2pM1L2vpL85zMpJyjeTOzCBtgLN1/ekhTxkiphv78zgkxsbW3xPWFiYoJmZ2f5ahAEB6NbR4fDzWtAR4eD3IKgo4PRmAFZpJuVHkoHHdw1KTI3VgwZUVzvyPSMwMO8jjBRuAYUiaRvHhLfP6d04DVJP9+TkmDLSmVmOO4MPYwBgI1aiYdJ9NuYkWecab+dbjbekRz9QHIsRMrBDxbnngZwYin1UapKSZJ/+Sg994rEqSc8K9zQ1FNOKzJQWf6znJljtaDsf+dTk/7UQeIcy8zHlyzOPQ0A7GCygcNC7h9McTAzyBbqgRWsJQZwVsNxCSbwuVVqC82HJQYAJlpxdnbmx4kFRYmNwgwtM5AFjks4seDQgBVSjvfbiAT6B8ZdizDEXhtSAAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
491 var AMAZONIN_URL = "http://www.amazon.in/gp/search?ie=UTF8&keywords=%s&index=music";
492 var AMAZONIN_LINK = "<a href=\""+ AMAZONIN_URL + "\" target=\"_blank\"><img title=\"Amazon India\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPjSURBVFhHtVdLSxtRGJ2f4KqUvnAldFdfqE2kERRcCoJbEwOKoghSC+6y0IU7deELLS40ieBC66YStZJFWyhiUxcqhSpIIqLxrUmcmXy952aimcwkmdrxwEmYuXO/c+53v3tnrpCOi4uL11dXV87z8/MuM8liOth/gSKjxfX19bOzs7O5w8PD+MHBAYVCIVOJmIjNTMwxM08V2QQgHg6Hd9kDFI1GKR6Pk9lATMSGBtP6za6fKPKCwEbuR8NjCKdDlmVugmXCx8Ux50gN3BkBTCIIyxodHR3R8fExRSIRfs/oAPA805SReQEFh/kx0vnk5ITGxsaooaGBKioqqKSkhNNqtVJTUxMtLi6SKIrK05kBLdQF07YLqFBcZAM6rK+vU1VVFRUXF2dlZ2cnn+tcCAaDdHl52WXIAB6urKzUiBUWFmrugchSrowiJrRzGkCgvr4+lQAy4Xa7KRAIkNfr5VOQ2l5fX89rIhsMG0CgmpoalcDKysrdCPE/Pj6uardYLDlrwbABYHNzk+bn52l4eJj6+/t5FScBAz6fj4qKiu4MlJWV5ayDfzKQBMSQEYwOS3Bra4v8fj83lZqB8vJy8w1AfGdnh3p7e6m2tpZKS0tVoqk03YAkSTQ4OMjXfKoQ0p6a+iRNNYCRT0xMaEQ6OjpoeXmZ9vf3+QaUasRUA+zFwQOmirtcLtUySy9CUw2srq6qxMHt7W2lNZEhj8ejajd1FczOzqqCg3t7e0prYp9ob2/P+oweDBtYWFjQBJ+cnOQjB5eWljTtIKYJ7Zlg2ACWXnpwrIa2tjZqbW3VtCWJZ7BVZ4JhA0hxS0uLrkiS1dXV1N3drbrncDiIfWsoUbTIaCAeOcFv4kIBVoLT6byr9OR+gOvm5mYe7ObmhhobG/n9np6eRBFimiKnJAe/kvTnM8lhFG8itr4B1uH2y3sSA+MUF7Hf3xtBJjY2NvieMDQ0RNPT03w12PLzyGXLfxDRV5sBKUq3Sy0U89q4a5IlbiwTEIj9PIjoq18Dskjit16Kjr6imOcdiT9HST5nyyrOzHDcG3ocAwAbtbzvp6jbwoy85Iy5rXS79oGkzY8k7flIPvhBLnsd0dqULgfqXJx6bSD64qPUke2jNC7ekPRrkmIzbyk68pxnhRsaecGJ9a6HgYFdFfWAvshAQe7PcmaO1YIc+s6nJvapgaIzLDNTb/7fAMAOJms4LKS+YDKDmUG2UA+sYG12NpdrLl3m1dk59dpA9OUGcFbDcQkm8LmVbQtNh2ATSHA9kOibBBN9cnp66saJBUWJjcIITTOQBI5LOLHg0IAVkotCvhLoIcwX6C+VWYq0/AaO1AAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
493 var AMAZONIT_URL = "http://www.amazon.it/gp/search?ie=UTF8&keywords=%s&index=music";
494 var AMAZONIT_LINK = "<a href=\""+ AMAZONIT_URL + "\" target=\"_blank\"><img title=\"Amazon Italy\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPCSURBVFhHtVdLSxtRGJ1fIaUvuhK6qy/URmkEBfdCtj4CBkURpBbcZaELl7rQGkzpQpMILrRuKlErWbSFItZmoVJoA8EE0cR3Hs5Mvt5zM9GZTB5THA+chJl75zvnfve7d+YK+bi4uHh5dXVlPz8/HzaTLGY3+69UZPS4vr5+fHZ2tnR0dJSJRqMUiURMJWIiNjOxxMw8UmSzgHgsFvvLOlAqlaJMJkNmAzERGxpM6ze7rlDkBYGNPICGhxDOhyzL3ATLhJ+LY86RGrgzAphEEJY1Oj4+ppOTE0omk/ye0QGgP9OUkXkBBYf5MfJwPB6n2dlZstls1NjYSLW1tZxNTU3U09NDq6urJIqi0rs4oIW6YNpdAioUF6WAB7a3t6mlpYVqampKcmhoiM91ORweHtLl5eWwIQPo3NzcrBOrqqrS3QORpXIZRUxolzWAQOPj4xoBZMLj8dDu7i75fD4+Ber2jo4OXhOlYNgAArW1tWkENjY2bkeIf5fLpWm3WCxla8GwASAYDNLy8jJNT0/TxMQEr+IcYMDv91N1dfWtgfr6+rJ18F8GcoAYMoLRYQnu7e1RIBDgptQZaGhoMN8AxA8ODmhsbIza29uprq5OI6qm6QYkSaLJyUm+5tVCSLs69TmaagAjn5ub04kMDg7S+vo6hcNhvgGpjZhqgL04eEC1uNPp1Cyz/CI01cDm5qZGHNzf31dasxnyer2adlNXweLioiY4GAqFlNbsPjEwMFCyTyEYNrCysqIL7na7+cjBtbU1XTuIaUJ7MRg2gKWXHxyrob+/n/r6+nRtOaIPtupiMGwAKXY4HAVFcmxtbaWRkRHNve7ubmLfGkoUPYoayCTj+M1eKMBKsNvtt5We2w9w3dvby4MlEgnq7Ozk90dHR7NFiGlKnpJ8+JWkP59JjqF4s7ELG2AP3Hx5S+KuizIi9vs7I8jEzs4O3xOmpqZofn6erwbhhUCCVUtrl5XXgIZWdk8QNLQy6jMgpehmzUFpn5W7JlnixoqBizq1dG45lVYVmAligmrCROEakEUSv41R6v1zSnvfkPjzPcnnbFllmBmOO0MPYwBgo5bDAUp5LMzIM860p4lutt6RFPxAUshPcvTH/Q3gxFLqozQjJkj65ab0wmtKzTzhWeGGZp5ympGByvKf5cwcqwU58p1PTfqTjVILLDMfX93fAMAOJls4LKhfMMXBzCBbqAdWsKYYwFkNxyWYwOdWqS00H6YYAJhoxenpqQcnFhQlNgojNM1ADjgu4cSCQwNWSDnebyMS6B+k6HTYPVbYKwAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
495 var AMAZONJP_URL = "http://www.amazon.co.jp/gp/search?ie=UTF8&keywords=%s&index=music";
496 var AMAZONJP_LINK = "<a href=\""+ AMAZONJP_URL + "\" target=\"_blank\"><img title=\"Amazon Japan\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPpSURBVFhHtVdLSxtRGM1P6KpIX0uhu/pCrZFGUHAvuLUaMCiKILXgzkVcuKsufKGlC40KLrRuGuKLLNpCEWuzUCnUQEiCaBLjK4kzk6/33GR0HnmMdXrgSzJz73zn3HO/ezPXosX5+fnLy8tLezwe7zczWM529l2apdHj6urqydnZ2fLx8XE6HA5TKBQyNZATuZmIZSamJEubAcgjkcgR60DJZJLS6TSZDeREbnAwrt/s+nGW3mJhI/ei4X8QayFJEhfBnPBwcsw5rIE6I4BIJGGu0cnJCZ2enlIikeD3jA4A/RmnBOctKDjMj5GHo9EoTU1NUWtrK9XW1lJlZSUPq9VKHR0dtLa2RoIgZHvnB7hQF4z7rQUViotCwAM7OzvU0NBAFRUVBaOvr4/PdTEEg0G6uLjoNyQAnevr63VkZWVlunsIuFTMUeQEd1EBSDQ8PKwigBMul4v29vZocXGRT4GyvaWlhddEIRgWgERNTU0qgo2NjdsR4nt6elrVXldXV7QWDAsAfD4frays0Pj4OI2MjPAqlgEBHo+HysvLbwVUV1cXrYN7CZABMjiC0WEJ7u/vk9fr5aKUDtTU1JgvAOSHh4fkdDqpubmZqqqqVKTKMF2AKIo0OjrK17ySCLYrrZfDVAEY+czMjI6kt7eX1tfXKRAI8A1IKcRUAeyPgydUkg8NDamWmbYITRWwubmpIkccHBxkWzMOLSwsqNpNXQVLS0uq5Ai/359tzewTPT09BfvkgmEBq6uruuSzs7N85Ai3261rR2Ca0J4PhgVg6WmTYzV0d3dTV1eXrk0O9MFWnQ+GBcBih8ORk0SOxsZGGhgYUN1rb28n9q6RzaJHXgHpRBSfmYsssBLsdvttpcv7Aa47Ozt5suvra2pra+P3BwcHM0WIaUrESAp+JfHPF5IiKN5M7twC2AM3W+9I2JumtID9/k4InNjd3eV7wtjYGM3NzfHVYLPZ+Hz/S+BZvQNikm7cDkot2rhqkkQuLB+QKCfCR0STHzKB3zmAZ3PXgCSQ8M1JyckXlFp4Q8LPSZLibFmlmRiOO0E5BWxtEZU8IrJYMoHfuKdBfgEAG7UU8FLSVceEPOeRclnpZvs9ib6PJPo9JIV/6AVgtEpypQiNE1wATiyFXkrTwjWJv2YpNf+akhNPuStc0MQzHjoBsFxLLgfaFJAdKC3+Ws7EsVqQQt/51KQ+t1Jynjnz6dXDBQDsYLKNw4LyDyY/mBi4hXpgBasTcN8pAHBWw3EJIvC6VWgL1UInALhPEcpgpI9jsZgLJxYUJTYKI5FTAIDRwnKEZuQyVAJk4LiEEwsODVghxeJhG5GN/gINnfWgc7N/5AAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
497 var AMAZONMX_URL = "http://www.amazon.com.mx/gp/search?ie=UTF8&keywords=%s&index=music";
498 var AMAZONMX_LINK = "<a href=\""+ AMAZONMX_URL + "\" target=\"_blank\"><img title=\"Amazon Mexico did not contain a music section as of the last script update, and probably won't return a useful result.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPnSURBVFhHtVdLS9xQGM2vkNIXXQnd1RdqVRpBwb3g1hcoiiJILbibhS5c6kKraOlCRwUXWjeVUUdm0RaKWOtCpVAFURHfz5kxyXz9zp2MJpNJJsV44ExI7s13zv3ud+/kSsm4uLh4fXV1VX9+ft7uJTlmLV8zdRkrrq+vn56dnU0dHBzE9vf3aW9vz1MiJmKziSk280SXjQPix8fHW9yBIpEIxWIx8hqIidjQYK0/fJ+hy0sSjzyEhscQToamacIEZyIgxDHnSA3cuQFMIghnjQ4PD+no6IjC4bB45nYA6M+aGjIvoeAwP25ePjk5ocHBQaqqqqLCwkLKzc0VLC4uprq6OpqdnSVFUfTe9oAW6oK1ayRUKG6cgBeWl5eptLSUcnJyHNnW1ibmOh12d3fp8vKy3ZUBdC4pKbGIZWVlWZ6ByFK6jCImtNMaQKDu7m6TADLh9/tpdXWVJiYmxBQY2ysrK0VNOMG1AQQqLy83CSwsLNyNENehoSFTe1FRUdpacG0AWFtbo+npaerv76eenh5RxQnAQCAQoOzs7DsD+fn5aevgvwwkADFkBKPDElxfX6dQKCRMGTNQUFDgvQGIb25uUldXF1VUVFBeXp5J1EjPDaiqSr29vWLNG4WQdmPqE/TUAEY+PDxsEWltbaX5+Xna2dkRG5DRiKcG+I9DBDSK+3w+0zJLLkJPDSwuLprEwY2NDb01nqHx8XFTu6erYHJy0hQc3N7e1lvj+0RLS4tjn1RwbWBmZsYSfGRkRIwcnJubs7SDmCa028G1ASy95OBYDc3NzdTU1GRpSxB9sFXbwbUBpLixsTGlSIJlZWXU0dFhelZbW0v8raFHscLWQCx8gt/4jQ6shPr6+rtKT+wHuG9oaBDBbm5uqLq6Wjzv7OyMFyGmKXxK2u43Uv9+Je0YxRuPndoAv3AbfE/K6hDFFOz390aQiZWVFbEn9PX10ejoqFgN0iuJJNlMuUYWNWCizM8kyUSZac2AGqHbuUaKTsjCNWmqMGYHIeoz07fk01sNYBPEgkbCROoa0BRSvndR5ONLio6/I+XXR9LOeVnF2IzAvaHHMQDwqLWdEEX8RWzkhWDUX0y3Sx9IXftE6naAtP2fjgZkPe1bwaC9AZxYnD5KY8oNqb9HKDr2liIDz0RWhKGB54J2BmpQB2wA84xrkO9TGuAMZKb/LGdzXAva3g8xNdEvVRQZ48x8fmNrAIUo+2RhBLTNAMAHkyUcFox/MPZgM8gW6oEL1nEKdBNBpykAcFbDcQkm8LnltIUm48FFmACLZpyenvpxYkFRYqNwQ88MJIDjEk4sODRghaTjwzYiif4B1oFZPHSFSXEAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
499 var AMAZONUK_URL = "http://www.amazon.co.uk/gp/search?ie=UTF8&keywords=%s&index=music";
500 var AMAZONUK_LINK = "<a href=\""+ AMAZONUK_URL + "\" target=\"_blank\"><img title=\"Amazon UK\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAQlSURBVFhHtVdLSyNZFK6f0KtGpnsaVw2za1+oozIRFFwKgltfoCiK0rQD7mqh0O7Uha2iQxYaI/RCx01L1JEsZgYGUceFSsMoiIr4iO8kVlVOn++mSqtSeVSTmg9O6tZ9nO+75557U1dKxM3NzU93d3ct19fX79009tnEz7c6jR339/c/XF1dfT49PY2dnJzQ8fGxqwaf8M0iPrOYHJ02DpBfXFzscweKRCIUi8XIbcAnfIODub7y+0udXpJ45kE0/B/EidA0TYjgSAQEOdYcoYE6J4BIOOGo0dnZGZ2fn1M4HBZ1TieA/sypIfISEg7r42Tw5eUljY+PU319PZWWllJhYaGw8vJyam5upsXFRVIURe+dGuBCXjB3o4QMxUs6YMD6+jpVVlZSQUFBWuvu7hZrnQlHR0d0e3v73pEAdK6oqLCR5eXl2epgiFKmiMInuDMKgKOBgQELASLh8/loa2uL/H6/WAJze11dnciJdHAsAI6qq6stBCsrK08zxHNiYsLSXlZWljEXHAsAtre3aX5+nkZHR2lwcFBksQEICAQClJ+f/ySguLg4Yx58lwADIENEMDtswZ2dHQoGg0KUOQIlJSXuCwD53t4e9ff3U01NDRUVFVlIzea6AFVVaXh4WOx5MxHCbg69Ya4KwMwnJydtJF1dXbS8vEyHh4fiADILcVUA/3EIh2ZyWZYt2ywxCV0VsLq6aiGH7e7u6q3xCM3OzlraXd0Fc3NzFuewg4MDvTV+TnR2dqbtkwyOBSwsLNicT01NiZnDlpaWbO0wLBPaU8GxAGy9ROfYDR0dHdTe3m5rMwx9cFSngmMBCHFbW1tSEsOqqqqot7fXUtfU1ET8raF7sSOlgFj4Er/xFx3YCS0tLU+ZbpwHeG9tbRXOHh4eqKGhQdT39fXFkxDLFA6RdvQnqf99Ie0CyRv3nVwAD3j84wMpWxMUU3DePwtBJDY2NsSZMDIyQtPT02I3eHJeUE+PTLm5MkmS58k8nkaSJUkYyuY2SWqk2lqZ67lsi4AaocelNor6PUI1aaoQlgo9NbX800ihj0M0NEQsZI0JZE7CNeKCMJRRJ0leJt6nTf+GGCMnEyCgKaT81U+RsTcUnf2FlM0x0q55W8VYjMCzoPhsnp0aQrzefZOA/aR9cnM5MkkFADxr7TBIEV8ZC/lRWNRXTo9rv5K6/RupBwHSTv6Jh5pnCJLNTR63wyRjQxQKcVkXIMqmeq+XxBixNLixpPsojSkPpP47RdGZnyny6ZWIihD06bUwrLFB9L2GsYjA28yf5SyOc0E7/lssTfT3eorMcGS877IXAPDFZA2XBfMfTGqwGEQL+cAJm/USALir4boEEfjcSneEJiLrJDTApC9DoZAPNxYkJQ4KJ5b1NkwErku4seDSgB2SybI6iHJe0DcKHnsUO/9EFgAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
501 var BANDCAMP_URL = "http://bandcamp.com/search?q=%s";
502 var BANDCAMP_LINK = "<a href=\""+ BANDCAMP_URL + "\" target=\"_blank\"><img title=\"Bandcamp is a privately held company founded in 2007 by former Oddpost co-founders Ethan Diamond and Shawn Grunberger, together with programmers Joe Holt and Neal Tucker; providing an online music store launched in 2008, as well as a platform for artist promotion, that caters mainly to independent artists. Artists who use Bandcamp are provided with a customizable microsite where the music they create can be uploaded and shared. All tracks can be played for free on the website and users are most often provided with the option to purchase the album or a specific track at flexible prices. The site also allows for artists to offer free music downloads with the option to donate to the artist or to receive a free track or album by joining the artist's email list. Other options include sending purchased music as a gift, viewing lyrics and saving individual songs or albums in a wish list. These options can be toggled by the artist depending on how they plan to price their music. The options provide smaller and independent artists with a free online presence for their music, while making the process of selling their music easier. Uploading music to Bandcamp is free, but the company takes a 15% cut of sales made from their website (in addition to payment processing fees), which drops to 10% after an artist's sales surpass $5000. Bandcamp's website offers user with access to an artist's page featuring information on the artist, social media links, merchandising links and listing the artist's available music. These options can be toggled and customized on the artist's page allowing artists to change the look of their page, and to customize its features. In 2010 the site enabled embedded/shared links in other microblogging sites such as Facebook, Twitter, WordPress, Google+, and Tumblr with options for email. In 2013 Bandcamp launched mobile apps for iOS and Android devices, with compatibility for Blackberry 10 devices through app sideloading, providing the ability to download music straight from the app and allowing access to artist pages which have been optimized for mobile viewing.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNkNENTcxOTBGMjA2ODExQTk2MUFFOUU1QjE3OEVDQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MTA0NzhDRTY3NUIxMUUyOEE5MUMzM0NFRUNERTVGMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MTA0NzhDRDY3NUIxMUUyOEE5MUMzM0NFRUNERTVGMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA3Q0Q1NzE5MEYyMDY4MTFBOTYxQUU5RTVCMTc4RUNBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA2Q0Q1NzE5MEYyMDY4MTFBOTYxQUU5RTVCMTc4RUNBIi8+IDwvcmRmOkRlc2NyaXB0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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
503 var BEATPORT_URL = "http://www.beatport.com/search?query=%s&facets[0]=fieldType%3Aperformer";
504 var BEATPORT_LINK = "<a href=\""+ BEATPORT_URL + "\" target=\"_blank\"><img title=\"Beatport is an online music store specializing in electronic music and culture. Beatport is a privately held company owned and operated by Beatport LLC and based in Denver, Colorado with offices in Los Angeles, California, San Francisco, Tokyo, Japan and Berlin, Germany. It was founded in 2004, and in 2013 bought by Robert F. X. Sillerman's company SFX Entertainment, for a reported price of slightly over $50 million. Its annual revenue for 2012 was reportedly around $15-18 million, with losses of $2 million.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABONJREFUeNq8V0tsVFUY/s69dzqvPmg7pSStdDSUYCu1C9oSEhvExChsjERCYmOmxkQi0YibxhUSFwY3LlBkRSvaRCHEGKXdGITEGGrFVFSCxcgU2kUfUzrtPNqZe+/x/GeenbkzbXQyf/LPnbnnP//3/Y/zGIakNJ7o8XnrjJNtjYa33s1R7zJRSglEFATCDLdnVb9/UT01+9HYEL1n9NH6btfgkc4q39GeZ1BXvVO+ZSit8OTH4vIkvvn1e3w2Hhq6+8F4P2t8u9v3+j518MWup2CyAMJrfuhmCLoRKikBTa2EplTCbfdC4fUY/ulHXBjX+9W257Z93b9v25Y47iG4Oom4EYZhxgVZVlIln+Q7HJsRAS7BW1uLm1PBTq3VY3gNtoRILCh4qiiHRGKLYMwAYWs1Toa4GYailgc8JabAJGytxi7aTdFg8s1NDEcV/DHpxD/TFeveP9YcwxM7o3A7N7l6FKDGHodmckWAaxvazwU0fHmlBldvVBa1O7A3hKOHgthar2+cBW4QARUmihP44YYLZy7UbiowIkj65isP8fTeyAYEdGhcZIDz4vX/9ur6qB9t1tHdsQa32KxcTo75gIqfb9lxbzoTyFdXqrG/Z6343iCwBQFWlMAnX1TBP22T39tb4zhyMCyfufLSwQj+vGvDxRG3fM4JUh9/vgXH+1aKEBBNyE1FMrGSa2N2kX6HjOR4X2gdcytp22HgvbeWk8Qr5dyWJgOH9q9aExDYikkZEOs/V8NRDUOX3fA2G/AdXrW0KaZv9EXl3EsjLunLyoawRfhiGVJEWUrpuzjiEBMZunbrcDnybUjHf6uQajVGSnPJB/kin/k2VILkVpmS+UUFA6ddciLJpVE72loNmd5cOTvslM/zHfnnxu2/VTmXZOSaHdfHKnB6IIKGOjPrgBIZ4DklGL9lS4Nn19y6TEyqZRly+oTsyPd6G0kgfSqnmedLYjwSYZiaVgp29XyASZvsOblZyfZJ2JKAbAW5HEVEEWZ5ltPY2eEKDHzoEOnU5O/s5eQXxGiMbBJZtdjGIyyNk8BEYh9gjBrETLIsHOGe3SZ++V3FpwSCWPq9f0bB+2cqEBFpJptCku2bMJMl4FCYlj63G+q4ZQlorLfHwLGXE5vQueHMYZQCpzGySTR1fiZbmngaR2ISdsJ9hpk1gYz0dmdIpM/3FHi3UXSu28mzQkpgygwwRUlVGo+3GgVudBnt7dYFYKYE9J3e5drlSsJ3YowwCVvjaTY8WWcDl0dtOfD5DgnQk1zTbTtMC8rcooeMtB/ZhJBNaEIhNiwR+Xaxfb7zGsfUjJpVFlFXZhaICJYdT6U8/Hwsq/6G8K2nbSUmp4sAEWCKYJQB2NMRE/r/rlwN9aYgUPhSQpiELUpgiB/UmUZZ74QpTG0tboorM+0FXKakLODiDkqYy1FBYD5kghsMNtWBNX2lLAQ0xSUxl1fFKri/aPqXgmFvw1YPYkawLATcFR7Mz4VB2CpvbwyqZviFXU3NqHLXirrEZW04j1us6/+uTDSdw1Yt/gu0IBa147uxO5h4EDsh98vtxzoHn213+w48uQsNHg9UVVwUtNL+PdV1EZYhLrALCxi9eQfX/woP3T830Z9G8bza6WusxslHarm3ygGQllJWVhP64CHzzy7j1ML5Cfn3/F8BBgD35aA+vllSYAAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
505 var BIGCARTEL_URL = "http://www.google.com/search?&q=site%3Abigcartel.com%20%22%s%22&btnI";
506 var BIGCARTEL_LINK = "<a href=\""+ BIGCARTEL_URL + "\" target=\"_blank\"><img title=\"Big Cartel - Founded in 2005 to help our co-founder sell his band's merch, Big Cartel is now home to over 500,000 independent artists worldwide, and growing like crazy. Like our stores, we are designers, musicians, crafters, painters, and technology nerds, spread across the globe. Our team is small but mighty, and we love passtheheadphones we do.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4zjOaXUAAAAO5JREFUSEvN1bFtAkEQhWFquQhnpggI3ABGdAA1kFIARWCTIZfgjB6gABCkBASA9L8XjHS60woJzX3Z7uzOk06avV71ZhkBH/CiWB9eBBkBB3zDW63G2MNbQUbAA3f84hMuQztr6KRuuRzkBUQnzDHDES5jB7cIuhHQ5IolvuAWQVcD/jHECje4RdC9gAU0hhouF+AWQUZAHJy6HzSdcYsgI+AM3yh2gVsEGQFb+F6xP7hFkBGg8dEz4NutdHIEtwgyAmQCPdTuVKPqFL5Wkxcg+jXqx6nhkg0G8NEG2QGRHjh9Om8V6FLAa94cUFVPmk4rZLNsakcAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
507 var BLEEP_URL = "https://bleep.com/search/query?q=%s";
508 var BLEEP_LINK = "<a href=\""+ BLEEP_URL + "\" target=\"_blank\"><img title=\"Bleep Limited is a British online music store focusing on the independent music sector. Created by Warp Records and launched in January 2004, Bleep was one of the UK's first legal music download businesses and the only one to originate from within the music industry. The store offers single track or whole album DRM-free mp3 and WAV downloads alongside vinyl records, CDs, DVDs, T-shirts and other merchandise. Since its launch, the range of music offered by Bleep has grown and now provides music from independent labels including Rough Trade, Domino, Beggars Banquet, One Little Indian, XL Recordings, Ninja Tune, Stones Throw, Hyperdub, Planet Mu, Tempa, and many more. In addition, a large catalogue of rare titles has been acquired from many small labels from all over the world.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMzRGMjgwNzUwNzYxMUUzOENBRUI1MTJEM0Y4QjMzNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMzRGMjgwODUwNzYxMUUzOENBRUI1MTJEM0Y4QjMzNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjIzNEYyODA1NTA3NjExRTM4Q0FFQjUxMkQzRjhCMzM1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIzNEYyODA2NTA3NjExRTM4Q0FFQjUxMkQzRjhCMzM1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+gSYwrwAAAdFJREFUeNpiNDe3PsDAwKAMxDIM9AVPgPguywBZzgCzk2mALIc7golhgMGoA1gIKag80UTQkP///jH8+PSD4e3jNwwPT99juLDxLMOnlx/pFwKMTEwMnAJcDDK6cgzWSQ4MaSvzGDRddAYuClg5WBn8m0IYJDSkBi4NgELFMMCE8jSADn5+/ckwLaAPRYxHhIfBtcibQcFUCUVcVFmc+g5g+P+f4cfn7yhCIP6hWXsxHEDXNMDMwowh9vjCQ+qHACMTI4OAtCCKGK8oH4NzgSeK2LcPXxnOrDpBfQewcbEzZK4txKvm04uPDOurVzJ8fv1pYHLBn99/GPjE+QeuHBCSFWYIbAtnMA41p34U/P7+i2FN2XIUMQ4+DgYVK3UGXW8DFHGHLFeGa7suM3z/+I16Dvj39x/Dg9N3McRv7L3KwMzGzKDlqotIL5xsDOoOmuC6gS5R8Oj8AwwxQWB00C0NCEoLYc22NC8HQFlTyVyFwTjEDEP9hyfv6V8OINoJ/xnuHr81cC2i8xtOM3x8/mFgHHB52wWGPf3baVAb4sqef/4yfHj2AVgBPWC4vP0iw2MsOQJrmgL2jP6PNstHvAOeDKD9T0AOuDtAjgB3zwECDADaL4gW9nGVswAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
509 var BOOMKAT_URL = "http://boomkat.com/search?q=%s&";
510 var BOOMKAT_LINK = "<a href=\""+ BOOMKAT_URL + "\" target=\"_blank\"><img title=\"Boomkat - A specialist music website brought to you by a dedicated team who have been operating in this field for over 7 years now - building up a huge resource of information and opinion about music that exists beyond the radar. Our product extends to cover the most underground forms of Electronic music, Hip Hop, Post-Folk, Alt.Country, IDM, Electro, Acoustica, Post-Rock, Ambient, Micro House, Detroit Techno, Mentalism, Electropop, Indiepop, Grime, Free Jazz, Modern Composition, Cologne Techno, Future Disco, Drone, Sublow, Soundtracks, Noise and out and out post-generic objects of wonder.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzhBOUNGNjcxRjUyMTFFMUE1RTRDNkJBODFBMjQ2Q0MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzhBOUNGNjgxRjUyMTFFMUE1RTRDNkJBODFBMjQ2Q0MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OEE5Q0Y2NTFGNTIxMUUxQTVFNEM2QkE4MUEyNDZDQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OEE5Q0Y2NjFGNTIxMUUxQTVFNEM2QkE4MUEyNDZDQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv9ew7UAAAP+SURBVHjatJdpSFRRFMfPvLmjlrYJfagox7CCaIGIEoJog760fxAtmyW1zT6VFvQh8WPpGFGo0TKmaWBBhC30IaigNIgyRdqgpn2xbDGdeaPv3e65M296M/PebE5/vD7ve/ee37nnnnfu0wB+1ThbbOPGjqmYmDnBPCotDUanpUIyNegRwe3xQG/fD9ev3/2Ve+2bGwIPTzRfct552En7B91UpvS/NmTcf9xNkYlsg+Nss23R/LnOhXNmsZ4BJEkGNhDYz4hkK9kCDaeaA31mGgT2y2gUAI23d/bA456ndmFsRkbFDPNUGJYoiN5hdmUOyOhA4g3hTaeb+VW5hzbRto9BYXZONiCbZI4fZ04hJnZT0l3Nth1b4ezJpojP1Wo6fR5woY3saikuDJuLLGQim6SmpLCQyyBQQdN40U5LwNCZ+kbeD1XjqfNAjIZAf/Gyxfz64PYD/sxS4purFjKRzRwwsf0x8DCFw61sNU2wZEUu3LvVAVuZE9gnRiHi/iNY7cj07Jww+8hENmFbown3iQZgS1bmcsNoVAFoSYGqnSmwb9ZkIJvwJImS0XrAUFiksVoMZBMlS+OReo+jjVPGaDH8DshxOxANHArXd0BmOcA2YkepPeGCo5UTyr3gCITPRTZzQIYLzpawh+fazkGtozZuuDpCarislYQyvv4J1lz1KmORXtVM2IHQVeq9FdGcIvJIT52Y4FSzEMk8AnJyHIj2ZoSGHgs3soVkRUDLCSUqVCcHZF4H5OQ5ELoVkeoA9UeA4Kn0v6BqWlgO+E9EQkewBdFKcv+gB4p32aOVYprUxHOLXrBttwb6x2rqE3sNrWutEaudWt4hiX8rKDrqqA86cvXEkxDLoZ7UToSu2DssQWHRln/Q6vqIB49aOVMnwcfePl6KifqU0PqYUJxQnmdlZUOeNd/3v0RVXcxQRTOmTYaXbz/C5ImZ0Hj5+r8twMNH63NKHQnUtYs3wFFVGxd0X/luPmdm1hR48eYDn/fpWx/cvNsOxCuKkG8rgNeuV0GTsqaxlVrydZMnVpXtL4W21iv87+eu974DSBD4lzGyiej18l2orqmGsr1lQZOrDp+Iy4HyA3vC7ilw5Yo225/cgaULlgOyye8/Ay5Jksxa33DxvKAIv+qHqDUvdx50dXTBmrz1cITBO7ruwqrc1fDl23dAtjDodlduyivRPcFiaeUHSsPgCEb54Ov4yk3EyOFuFvruZy8B2XzQoaN1zoZLbZRNom6Pm7cNBRvp176fURuOUwUsqKE95e/1+Rvou8+99FHPC3qm9QpFplKSuQ5WHbelpaZWZKSnm1NMBEwmU1IPqaGhIVawhuHPwIDLI4qVosHV4ChzwF8BBgApiWk4tODWVQAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
511 var CDANDLP_URL = "http://www.meandlp.com/en/search/?a=%s";
512 var CDANDLP_LINK = "<a href=\""+ CDANDLP_URL + "\" target=\"_blank\"><img title=\"CDandLP.com enables you to buy and sell musical items at fixed price proposed by different sellers either private or professional. CDandLP.com does not sell anything, it's a marketplace, and we are intermediary of payment and third-party during the whole ordering process between buyers and sellers. You can easily find the music you like with the search engine and the categories. You can also register your wants list, we will inform you as soon as the wanted items are listed for sale on CDandLP.com\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
513 var DIGITALTUNES_URL = "https://www.digital-tunes.net/search/%s";
514 var DIGITALTUNES_LINK = "<a href=\""+ DIGITALTUNES_URL + "\" target=\"_blank\"><img title=\"Digital Tunes - The best download store on the planet for underground dance music: from Drum & Bass and Bass Music to House and Techno. Cheapest WAV/FLAC/ALAC prices in the universe. Pay with Bitcoin, Credit Card or Paypal.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAANHSURBVFhH7ZdpT5NBEMf5UmJMEIgSUFAkGIFwSSsqiHglQMDSeIJcpQhEosQAkoIECxRBasul3FRBylloqVBKwQP9BOPstNs80IoYEHzRTf6Zmd3Zmd+zu31RLz42fpphP+Voax/uEvZDB9qcywPgAfh/AKpqn8FhX3+H/MC8rIe4CyLwPuoHxsVxuJx6hdYCgkMo/2TYGfALDALJXYlgn12KhmpIl2SQf8T/GNi+GCAyLpZii3XGPcDzmqdwyMcX0m9nUNOz0VEgTrpIczkFD8jmyXLhbaeK8oNCQ8HneADoxnpBqaqn9ZDwcGhXK6Gg+BHFmdJMsvGJYohOiCffYp3eHqCsQg7eeALhUZEIcInmHubbAV41K8CyOgO2dYMTgO1lRdl6RGw0xZVVFY5aJWT3DIAXTL5+Fa8g7I8A8nIZ2T0DKMU1ZpOvpUDwDgC4/gqgUJ6Pj8U9gKy0kOxOAST3JGSFANNzI7CC18j7ugBwdfW2Qaw4gfwRXTfEiM4715IQQHgFyyt2gHMxHOAJxfzE4hNFTgCmG2k3XQG6DIMg1dSBVItCW7M8Arn9zSDTNkD10jCUDb2Gyu4mWq8bVUNOTyO09LXTXsM3A2TjniLM71nTQ6leQzUeo83WKKBDp4XG4Q57bVSNTu0KUGMZAR+90kXiuQ6yETNtkLP4nvz7i+8gcLIZypcGwbphAq1tguZPT7eC1NTj3MulWNHBHVOvM05b6HIFsP0wwcL3ech1NGFJLG60fqCYAMybAZjftjoOGtsn8kMFABK0A+uTMPl1FmotozQXN/sGjFhzecPoCsAlM/dTcpapm2LV6hjFvwNgeuE4PSEAVz1+PRPzE/A0t/bbEwA/fRNZIUDqvJYasxOYQN1a6ARfnM8y2uty7RogZV5DlkkIUGju21S3e20C4vEEAqdaoEiwtmsAlfUjPlQ1+dsBMOXhHFtLd/cIubYCsBceMq2CE0guwi8IwMZlSwNOgKH1KXpspzBHCMCg5J/7oRjVih/BfL6fPXTezwWgBBPZXbFXzOde4l2yOaZ0o52eAbF4GAFYrMSTCEMA9nPjuVwSvHfu8/1cLgD7LQ+AB+DgAQ7y/yE158Ndwr+UvauX1y/oBh6oBNcH9QAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
515 var DISCOGS_URL = "http://www.discogs.com/search/?q=%s&type=artist&strict=true";
516 var DISCOGS_LINK = "<a href=\""+ DISCOGS_URL + "\" target=\"_blank\"><img title=\"Discogs, short for discographies, is a website and database of information about audio recordings, including commercial releases, promotional releases, and bootleg or off-label releases. The Discogs servers, currently hosted under the domain name discogs.com, are owned by Zink Media, Inc., and are located in Portland, Oregon, US. While the site lists releases in all genres and on all formats, it is especially known as one of the largest online databases of electronic music releases, and of releases on vinyl media. Discogs currently contains more releases than there are English-language Wikipedia pages, at 5 million releases, by 3.4 million artists, across over 600,000 labels, contributed from over 195,000 contributor user accounts - with these figures constantly growing as users continually add previously unlisted releases to the site over time.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
517 var EBAY_URL = "http://www.ebay.com/sch/i.html?_nkw=%s&_sacat=11233";
518 var EBAY_LINK = "<a href=\""+ EBAY_URL + "\" target=\"_blank\"><img title=\"eBay is an American multinational corporation and e-commerce company, providing consumer-to-consumer sales services via Internet. It is headquartered in San Jose, California, United States. eBay was founded by Pierre Omidyar in 1995, and became a notable success story of the dot-com bubble; it is a multi-billion dollar business with operations localized in over thirty countries. The company manages eBay.com, an online auction and shopping website in which people and businesses buy and sell a broad variety of goods and services worldwide. In addition to its auction-style sales, the website has since expanded to include ''Buy It Now'' shopping; shopping by UPC, ISBN, or other kind of SKU (via Half.com); online classified advertisements (via Kijiji or eBay Classifieds); online event ticket trading (via StubHub); online money transfers (via PayPal) and other services.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
519 var FACEBOOK_URL = "https://www.facebook.com/search/results.php?q=%s&type=pages";
520 var FACEBOOK_LINK = "<a href=\""+ FACEBOOK_URL + "\" target=\"_blank\"><img title=\"Facebook is an online social networking service headquartered in Menlo Park, California. Its name comes from a colloquialism for the directory given to students at some American universities. Facebook was founded on February 4, 2004, by Mark Zuckerberg with his college roommates and fellow Harvard University students Eduardo Saverin, Andrew McCollum, Dustin Moskovitz and Chris Hughes. The founders had initially limited the website's membership to Harvard students, but later expanded it to colleges in the Boston area, the Ivy League, and Stanford University. It gradually added support for students at various other universities and later to their high-school students. Facebook now allows anyone who claims to be at least 13 years old worldwide to become a registered user of the website, although proof is not required.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAOVBMVEU7WZg7WZgAAABsg7JrgrGdrMz///87WZiFl7/z9fnP1uZHY55geKu2wdmQocWqt9KEl77b4Oy1wdgUq3gQAAAAA3RSTlNQ4ADItBmCAAAAdElEQVR4Xu3POQ6FMAxF0ed4SJj+wP4XS1IgUWAjQHTc+jQXCZTdCAnIYQDFgJAP8gAzjz4of2upByazEKgdgG4FZR+w1bqfiAwB+OZWAPQ5UFSnBnqt8Q7obZPeBnwFjCKfBmapDWc2X0AxICAGQAL5gJAWaXgaoYoD59wAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
521 var FREEDB_URL = "http://www.freedb.org/freedb_search.php?page=1&words=%s&allfields=NO&fields%5B%5D=artist&allcats=YES&grouping=none";
522 var FREEDB_LINK = "<a href=\""+ FREEDB_URL + "\" target=\"_blank\"><img title=\"freedb is a database of compact disc track listings, where all the content is under the GNU General Public License. To look up CD information over the Internet, a client program calculates a hash function from the CD table of contents and uses it as a disc ID to query the database. If the disc is in the database, the client is able to retrieve and display the artist, album title, tracklist and some additional information. Because it inherited the CDDB limitations, there is no data field in the freedb database for composer. This limits its usefulness for classical music CDs. Furthermore, CDs in a series are often introduced in the database by different people, resulting in inconsistent spelling and naming conventions across discs. It was originally based on the now-proprietary CDDB (compact disc database). As of April 24, 2006, the database holds just under 2,000,000 CDs. As of 2007, MusicBrainz - a project with similar goals - has a freedb gateway that allows access to their own database.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAF5SURBVFhHzZUBjoMwEAN5Ok/rz3o4dKhZHOAqNXeWTBqvs2vSSp3AczBeY1dIeDwez3mel8JKff42tuECgxk+IoBwCKCbGInt+v3tCaHV6TUBreoVeJJvksBwJ82rLk1INdEH9HrTQzi9gTRENfezdy9gT896rnnac0EtCKmpgKa6w70+zEFPzt4K0BtEDaKphwdIHrH1as8FiJ8EYIXqgV7pvtarPRdg+E2AqvtZvwGHdPd9FADd/a4B9pz3UGinAarZQa3Sz/vASrAF0BCxNqiag3o6C6pHdGwB/grL31G+onGM4khGsU++a61o2ovuu88o9skPjYH+o6ree4xin8MD1Cu/ClD914ziSoYlpAAJteeRUdw35m08UC8AXoCvzygerxqCFIDhVUfLjOI7gDd1PQVwnwhqjz2j+I8CMAiCFMAHnQXbM4q5sWspgMD53gscGcWVNElIAZKf8H1G8U01UGMfCN3DXqv7r9mQCiO4QzJ8k8I0/QDachmIpR1kNgAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
523 var GEMM_URL = "https://www.gemm.com/c/search.pl?field=ARTIST&wild=%s";
524 var GEMM_LINK = "<a href=\""+ GEMM_URL + "\" target=\"_blank\"><img title=\"GEMM - since 1994, The World's Largest Selection of Hard to Find Vinyl Records, Out of Print Music, Collectible Records, Imported Music, Used Vinyl, New and Used CDs, Independent Albums, Rare Vinyl Records, Cassette Tapes, and Music Memorabilia. GEMM is also your destination for Books, Videos, DVDs, Collectibles, plus all other types of products.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
525 var GOOGLE_URL = "http://www.google.com/search?&q=%22%s%22";
526 var GOOGLE_LINK = "<a href=\""+ GOOGLE_URL + "\" target=\"_blank\"><img title=\"Google Search, commonly referred to as Google Web Search or just Google, is a web search engine owned by Google Inc. It is the most-used search engine on the World Wide Web, handling more than three billion searches each day.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
527 var GOOGLEPLAY_URL = "https://play.google.com/store/search?q=%s&c=music&docType=3";
528 var GOOGLEPLAY_LINK = "<a href=\""+ GOOGLEPLAY_URL + "\" target=\"_blank\"><img title=\"Google Play Music is a music streaming service and online music locker operated by Google. Users with standard accounts can upload and listen to up to 50,000 songs at no cost. An ''All Access'' subscription, available for US$9.99 per month, entitles users to on-demand streaming of any song in the Google Play Music catalogue and the ability to create custom radio stations. Users can purchase individual tracks through the music store section of Google Play. In addition to offering music streaming for Internet-connected devices, the Google Play Music mobile app allows music to be stored and listened to offline. The service was announced on May 10, 2011, and after a six-month, invitation-only beta period, it was publicly launched on November 16. Google Play Music offers more than 30 million tracks for purchase or streaming. It is currently available in 58 countries for Android and iOS devices, web browsers, and various media players (such as Sonos and Chromecast).\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
529 var GOOGLEPLUS_URL = "https://plus.google.com/s/%s/people";
530 var GOOGLEPLUS_LINK = "<a href=\""+ GOOGLEPLUS_URL + "\" target=\"_blank\"><img title=\"Google+ is a social networking and identity service that is owned and operated by Google Inc. Google has described Google+ as a ''social layer'' that enhances many of its online properties, and that it is not simply a social networking website, but also an authorship tool that associates web-content directly with its owner/author. It is the second-largest social networking site in the world after Facebook. 540 million monthly active users are part of the Identity service site, by interacting socially with Google+'s enhanced properties, like Gmail, +1 button, and YouTube comments. In October 2013, Google counted 540 million active users who used at least one Google+ service, of which 300 million users are active in ''the stream''.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOTkyQjA3NThERDAxMUUyOUEyN0Y4NjY2QTExNDU1NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOTkyQjA3NjhERDAxMUUyOUEyN0Y4NjY2QTExNDU1NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA5REZCMkEwOERDMDExRTI5QTI3Rjg2NjZBMTE0NTU2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI5OTJCMDc0OEREMDExRTI5QTI3Rjg2NjZBMTE0NTU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vThexgAABFxJREFUeNrEV31oG2UY/10+2qZtmnSr++oS13ZTWyWdC0KLbmvnKP5ThzqpUtn+kFnBjwnaDRQc8w9BOtAJzgmKutqhIPsQEYqTDelQi6Oakm51XSltOje3NulHvu5y7/nchaS55i5tA03f8Evu8rzv8/zufT7e5zhJkrCSw4AVHqbUm7HnGlwSz3fQZSPBvAz2BMJFLi+v3fHtJY/8B5dwwehTdS4pGvmdLi05ePAwV2Cpc575zZN0AYuGOyRIFkIuPhYWCXXMj4HGHLu/URUD5ImMPo+Rp4IxEVH6FSVGUGePmeNgM5lQYOQWS8A8Lwj10zEYY+DLK+BsboG1phZmxyYYiq3qSURo4uQxTP/QmV0aMkkbPAPym/Zi2xdnYbj7H8bf3I+Rlkb4T30atxsTMPheO64/4ULgfKeuHi3MiwFJE1J5Jba8dQSzXg/8Z7+ExARIYhSTp09gqvscOJMZW95+H+Lqtbo69JFKQGeOrWkPJSuH8NhImizQdTKuhEiU7GrOxv4cAbkeaKGg3KnIOVspbZtaJtzyISITkyOqqDhtrS/M6+pN1J85AmCaQGBCkdtr3QgZzSqZSN+8f1KRi9e9aWt3/jqoq1fRrd4BThOzF36M12xrCUr2vIBZQYLIOMQIU5IBlo1OBHsvY+byz2lrM+lNyBd0Qcj7J+6c+IDClqHiwBtY9cx++M0WzKzfhKojxxHu+wM3j74GJorK/HHa9gTkkXqv5YLkWXBtd03GcznfUQXr9iaY125A/tZHlNiY7O3B7XfaZCXJeQ9cGNDVQTZU9zSXM6XuQKYRGR1CpGtIuXZ82AUQASYy+KlI2cijBkN8S68+Xp1cU/3LVdV95n5AJpABPNXioCBimhcxeuozMIFHWf0O1Bz/BjP2NYgRmbR1C+lVnQU6DMkeAkxE6cOPwrF9F4o334+8deUkiFLu5cHucsNNVbL/8MswDPXLJUNdoRcoxckY8DbclzaXp3rJHqpD9aGjMIo87n73FUKeXvCU/+AMWPVkK9a9chjUYEAMBXGtbS91NTcWfQ48eOkfLmMlNLh3wP3J12DTfgy3PYtA9xnw//ricsqKyXOdGDm4D4yMGwuLsKblxewrodaMqlcPKU96+3s6ZISI5pzQwBXcOv25oiHPZl9yLTbNnYbp3iq6tzLeyFkK6fwnLjoenaZyvIF+Q/1XNPUsMgu4NIQGlL4RztYDCFjsCBILgclkOdkDFKAcJui/e3Y3I3xjkFzSpalHFwu5YPzYuxAm7qDQWYG6rp+w+vmXwFfWYMpaimDZehTUN2DbR50wsxiGD7aChUNLdkEyC/5+bLPm3plKbCh7eh9K6ncqnZCpsBhicIaC8SaC3j74u8/TTvVl1RTW9gxxKQQqc/6KVNszPFeKaUeEZXoZyfSSktITgruYy6dP2EsSGCuytwtMCi+lqcwWsh0f2VMFoTw+3rrRRef6sr8bGozG9tf/8nnSCKzE+F+AAQDcLn22XOtb+AAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
531 var HYPEMACHINE_URL = "http://hypem.com/search/%s";
532 var HYPEMACHINE_LINK = "<a href=\""+ HYPEMACHINE_URL + "\" target=\"_blank\"><img title=\"The Hype Machine is an MP3 blog aggregator created by Anthony Volodkin. The Hype Machine is a music database created in 2005 by Anthony Volodkin, a sophomore computer science major at Hunter College. The site was born out of Volodkin's frustration with music magazines and radio stations. He said, ''I discovered MP3 blogs like Stereogum and Music for Robots. I couldn't believe there were people spending their time writing about music, putting up tracks so you could hear them. And I thought, there has to be a way to bring this all together.'' In 2005, Volodkin sent his site address to pioneers in the online music domain, including Lucas Gonze of Webjay, in order to gain feedback. Instead of sending a response, Gonze and others posted the link online. Volodkin observed, ''[Hype Machine] got launched without ever being launched.''\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAASSSURBVFhHrVf9T1tVGO5foD9P47+gTn5RE7WE1uE6hwNJNJNF5xITF0iMxmSufKelbKPUYVnZ0M1NIpQ1EJiUAZbNbm3tx5gwxiY2Fk0Gi6lxA0qnvX097+257bm3p1/i0zw595z7nud5b8+5556jKhajS51PWG/Ufdjlr7KfCOwNH/fvSRi8FYDE6xOBqnBXoGoIYzCWdts+vl6s32kO1IwYvRqh3aOGYkhiE2Z/zQj2pTKlYzpserw7WNOPT8gzKYakb7I7UHPGTrSobHE4eeOdZzq8uyI80f9Ck++1X62hA09T+fywzR0sN3g06+3XSWceUZS9Zut5iJqoTW346PUf3Gn0ajfTHQuJl5AA0ujRbp6eO/QstZMDx7zTV7mS7qAU5hnlM5fuKWKO/ahbsQc5cwInHBtYMnMlo2wndfSitil89dPh59KznQ1WsOUq4eg++NLVCKO+0zAVGgRn8BuweyzQM1UP+glNJj5PQuiFntRepbIEa8d4mUrXTS419Do/hfk7IUgmk5AL6xvrMBO6CIaJWrkOq03rluCbY6L55LL1qQ6vNrXISEEMmy/pwL/gphbFYWsrBuddJmj9gaNJEzD6tImZ3049qbLdfK9BalQm0TS+G36J3KWyJYL8Uw63DdquUT1Jm/FCb/L3VzvYRskcx/uK30nVMkiSn/AoDkJsM9OSFMR2JQTSfvJyfVpTmQAZBocKPyxsoxTYan+bO97xpVuwqlPDPc0LsDE9AX9aTHCv8iWIdhnEp1bi1nII2twZXdYLvVXkvUzIzGn57bSVSsgRNTTC2itlKVY8D2svp65XSRkPL9OoDAQhAfrxXdwE0Fsl+9hIQdfLYcQ5SCXkiHY0p0wJ79NExJLUtxbnaRSLJJgm92eZI9E7RwJqODfURwXkiC/fgVXy90vGkvn9D+ogKQg0KgMcxqZxXUZbmYBsCJA0sKW3gUpkY8PtglXti6lhoOb/RP+gd+WI/B6GliuMNuMlDoFsEkoBpGx0VIFr1kVlshG/exvW6qrhr7M2EP5+RFuVSMKFKXP6oZQJiJMQXwW2kQ0+Yn0X5hcWqJgS+PrhrM+9MvpCHtB/p5Vpsl7ia5hvIWq7Vg5H+w/A0PAgPHj4gMoWBs5858wl0Dtel+mJZLzEhQiX4vR+jxdMytbJPTDr/p7KpyYWD9FoFGavzoKx/xNom9mdrYek5rhvFJdiBPdjxHKsFmKxGCzeXoS+AQt81nMIDNYjYLvwOZwd7IMvzh2H9r6PoPH8fmi5XCnvK+myJSF6iuYI8XPsqUjykygHQ89RaLIeBv3wG+KwKO/L6wVIPNAra8fcHag+w+0gsoCJMnGpjiV7TUv0orYZ4Na5A7dknA5iyZLXxjLP/WM+3crEz82PUVs5em+STSnZOPI6clkoEQWN3lc3cm5KJWRty0s0yUWDV/Pw1Nz7amqTH3iI6CSHCdH8fyBqWUNvFXcwkYBb520fzchsxwmXc8yLwcBSQ5l4OCV7OJ4Jj9LhdGDp4zIqs304I7YdePQ2B/Zd5B/P94a7g9XDGOOMmHfQbgWgUv0LCIZS8Clax6YAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
533 var ITUNES_URL = "http://www.google.com/search?&q=site%3Aitunes.apple.com/*/artist%20%22%s%22&btnI";
534 var ITUNES_LINK = "<a href=\""+ ITUNES_URL + "\" target=\"_blank\"><img title=\"The iTunes Store, originally the iTunes Music Store, is a software-based online digital media store operated by Apple Inc. It opened on April 28, 2003, and has been the largest music vendor in the United States since April 2008, and the largest music vendor in the world since February 2010. It offers over 37 million songs, 700,000 apps, 190,000 TV episodes and 45,000 films as of September 12, 2012. The iTunes Store's revenues in the first quarter of 2011 totalled nearly US$1.4 billion; by February 6, 2013, the store had sold 25 billion songs worldwide. While most downloaded files initially included usage restrictions enforced by FairPlay, Apple's implementation of digital rights management (DRM), iTunes later initiated a shift into selling DRM-free music in most countries, marketed as iTunes Plus. On January 6, 2009, Apple announced that DRM had been removed from 80% of its music catalog in the US. Full iTunes Plus availability was achieved in the US on April 7, 2009, coinciding with the introduction of a three-tiered pricing model; however, television episodes, many books, and films are still FairPlay-protected. As of June 2013, the iTunes Store possesses 575 million active user accounts, and serves over 315 million mobile devices, including iPods, iPhones and iPads.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAK1klEQVR4Xp2XeXRUVZ7HP6/WVKUqtYQEAjErsoQgiwoMCtgtDjqDECRNHGwXEBBF7QEbDeAJiERBusEeAWkWcXTEIc0WoFsQutuAgKFbEA1ptkCCISFL7Uuq6tWrNzd1hnM4fWY8tL9zvufev97387u/++7vXonbDxOQBliBVCAF0AMAMhABQkAA8ANd3EbcDoAd6FFWVjZg2rRpIwaIyMjIKLRarX0MBoMDIBaLeQKBwPWOjo6G8yKqqqpO7dix4zzQCXh/LIAJyHrttddGl5aWjr8jJ29cw7XWvPrzV7jc2Exzazserx8Ahz2N7KxM+uZnU9S/gMKcrMbvrzXW7Ny588iqVatOAK1A1z8C4NTr9TkHDhx4ZuCg4ke/PnuhoObkGULRBLm5efTJziYjoyc2mw0An9+HyJ7rzc00NTViMUqMHTWMu4f0v/K3c9/tnzhx4oeyLF8D3LcDkDF16tR7KyoqZkQVbWn1wRpcAZlBg4oZMLAYNBokSUiMIIEkpKoAqEhiqnK+/jvq677FadEyecJYjNr4zuXLl2/btWvXX4COHwJInzJlyj9VVlY+39ji/pd9h46T3usOhgy9G53BIEx1SFp90pwkiHRrDkkOEglUIVmOcvbrU3S2NjLpoVHk9Xb8YcmSJe/v2bPnJOD6vwDMYtkH1dbWlre6wo9V7f+CnIL+5Pftj6bbVCek1aHpHjVi1AqAJMRNEEBFmCuoSoJEXCYux2i4UEfjpTqm/esYstJNu0eOHLlSlOMcEP57gAH79u17KaN33gu//bgaR2YOOfn9ksYavVEYC+l1aPVGIQM6nRaDToPZoGLUJIQUdChAQgAo6AWgJwxXrvsEQD2ulks89/NH6Wi5umHSpEnvAedvBegxb968qa/88tXy9R/uyWv3JyjoNwip29SQkpRWSG80YrcYyEzTYtErKF1+bjQ30dbSTGvzddwuF3JMRkXF1eHitcp3qL3gJxoO0HDuNBlWlXlPT2n89a9WrVy/fv0uoPMmwJCamprFLe7ItA+qjjBg8D3C0ISkF+ZGk5AZg8lMcY4VbeB7vvnqSxouXqCzvTNZAo0mWQ40Yn4zpWgkQvnb71BzLkDE70buCvC3s7XM/NmD9HYaq8aNG/cWcFYCLBMmTJiyeeu2yqWrt97hjhhxZGYjGcxIwliYo00xk2KxMGGAkbfmP4/YK8JUmzT+/6KrK8zi1e9y8BsPYb8XpSuEu7URpyHMGwtnfj/72RlLDh06tEcC8jdt2jS/sOiel16t3EJOv2EgMpeMqUgpFjQmCzqRvdmaxuSBEpUvz8YooKQfOMJUFaLRMEvWbGD31z7CXg/xUAA1FuLa+VO8s2gmDfV/fW/OnDlrJeDeEydOLD9+tvnhHZ/9FVuvQhDZ87/mktmK3mwh1Wbn8UEKK+Y+hcFo4qa/HI8Rj8so8ThKQkn+gtY0O3FZZvF7W/i01k/Q4yYe9EEkiK/lAmUPD+O+u7IPjh49ukICJjQ1Na2pePd3RWevBDHYsiAlFUxWYZ5GEsBixWJ38MygKCtmlaHTGwgFfUnj3tl96JOfR5+8Anpk9cak17LtNxtQ1QSLN3zEByeDhNwu4gEPhAPEPM0MyTez/Bel9bm5uQskoMzv968f/+SydLecjsGanjRHmIu0kSxpAsCGxenkuUF+Kp+emqx92XMz6Df6p3RprXgUPZ2ynkhcx8iUGyx76nEAFm/6lPe/DBF0daIEvBDyEfO249S2c+Tjpa60tLR5EvBsPB5/v8/oOXpPIhujzYnRIUDsTnRiLllt6NO6AdJ5uaiDt56YDMCKql3sDtyBP6YlqkBcKPmxzGbe/LfJACzaupO1R8P42trp6uwk6u4g6unEQRPXT2ySdTrd8xIwRwCs63P/C/p2ORdVZI/IWEpzoBUgWpsDg8OBLaMHSwbf4I2SnyZPvlW//yMfurIJx0BOQEJIkmBur2YWPTIWRVFYsfNPLD3ox3+jHdnjAr8HKewjUycAvtzQDfCiBDzt8/nWjPn5Kmddm52E2QkiawQANrsAsaO327BmOHmjuIVF40cmAdZ88RXvt2cTkUGjKoywdTHQFMbR1cJLjzxMQlVZdeCkAAgTbO8g7nFDwIsm2ElxLx/H/qvcLbppcg+UNjQ0VP7y3YP99p8KE7f0BosVqdvc3r0KDkzONBw9LJT3v86rPxkJwNpjtWx2Z2OT4txj8uA7vJ0/fPSfdN5oS/YHsQlZsfc4Sz+PCYBO4m4X+L3ogi08OsrCr/79kYuFhYVLJODBI0eOVBw73zV25Ud1RNP6JgE0djs6pwN7TxsPD9QzJDOOU27h1amlALx9+Au2+rK53+Tj8volHP/s0K2NCUWRef3TP1JxKEGoG8DjAb8PY+AS5c8MYcwA09Hx48cvl4DilStXLho8+tHp0175HSHbcCSrBZ3dRn6Bk0cG66FuL3/e9d/4PF5hoEVVFV6v/oyt/mymW9tY9/hElHiCW0NJyLz02wMs+0wh3OFBEQAEA6QGzlC1tozvTuzfXl5e/rYEOEWLnLtj595XXniz2nn4ggXFnoPBaePxcXYix9/ju5PHk0evpJEAiEUjLPh0N5s82ZTaXexf8BTutk70BmPyIIpEwtw1ahRZkyr44M9dRFweEj4/+sA1HhoQZkNFibvsZyW/Fq1/owQATNi7d+/itmjPsfP/42uizuEYe9hZ/Fgq1StmoNMZbmmcKnElxpPrP2FTey+GWSLcHTzL79etpulyA8aUFB4SZXKMeoI93+qpu+BHdntR/QHM/jOsnT+CnintR0tKSt4CDt0EyJs8efK81Ws2zFq28Uv77jN6pNyhzJ9koHbjy0RDEfFhEwklTjDop+jee8h8YgnVbTa0qAyzRRmaGiJDGxVwWs57zew7p+F6c5ioK0jCG0Lvqqd0hMqyF+73Llwwb0t1dfV6oPHWljJ+8+bNC/MHP/jP5Ru+4ryczwM/KWRsjwaOfrKOlqYmUkwmHigpIXVMKZ+7HVwJ6kgkQKNK6CUwAtGuBF53nJAnRtwbJuEOoWtrYHB6K+/84j6u1v3p89mzZ68GjgDcCuDUarUTjx07tvCqz1b85if1dFruZMT9+YzMk+lljqJotFyKmTncYaYjokVOqKjJa5hEQlFRZJVYl0rCH0UNxFBdEXQtDeRpm1j67F0UOAJ1Y8aMWa0oygHA/fcAAH2HDx8+bdu2bTPrbhgKf1N9mQtyb7T9i0jNNqKYJUJATAElAaoEqEkhR4GoAqE4eGWk9hD66xcpTmtnwbQiBveRG2bMmPHB6dOnq4DLP3QtLxIQj23cuPFJvyar37aDF9hXrxLvmYeck4tq0aDqQNULaSVIkBRd3eYJ8Crom6+i77hKyVA9MycWkcaNi3Pnzv1YmO8G6m/nYXKnKMc48byaPXzUA8WHz3SYq09eo+YKxFN7oFjsJCxpqClmUEGKhNEEfGh9LnTBDsb11TD5vlweGp4ZPl1bUyeedZvFstcAl/6Rp1k6MGr69OlTXnzxxTF5dxblfNMUTPnLxU6+veahoS1Auy8CQE9bCgWZVgbnOBjRrwdD8ywRcRO+tm7dumPbt2/fA3wFuH7s47QvMGSsiFmzZo0Q5emTlZVlt1gsKeJuqAOQZTkeDAYjra2tXlHj61u2bDl1VARw9tZ6/1iAm8oACoAcIAtIB6wAQABwAa3ANeAK0MFtxP8A5q6uWgGjgh8AAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
535 var ITUNESGOOGLE_URL = "http://www.google.com/search?&q=site%3Aitunes.apple.com/*/artist%20%22%s%22";
536 var ITUNESGOOGLE_LINK = "<a href=\""+ ITUNESGOOGLE_URL + "\" target=\"_blank\"><img title=\"Search iTunes via Google without ''feeling lucky.''\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAOESURBVFhHxZf5TxNBHMX9R9BEo0Z/MNEfjFc80KAiSIhXE48gggaPKBJSUUAUjQfE8wdoQa4SQSw9IlpQaQNIm9C0XG0lVBtaQAlVpASBEMqzs6zF1mkp7EZf8snu9Dt98zrpzOwuys/PP+bBIBKJTP8SMiYZmwQgg+N/QMZe5Lkhiagd/gEm3gKUlpaivb0dIyMjqK6upvahwE8AuVyOsbEx/JZEIqH2o8A9ABlsfHycHRpwOp3UfgHgHsBkMrFDz6i2tpbaLwDcA/w59QaDgdonCNwCFBYWYnp6GgMDA1CpVNQ+cxBagPLycmi1WnR1dcFisUCj0aC4uNhbF4vFqKmpQUdHBxwOB2w2G/R6PSorK318KAQPQIzJtLrdbnaSZzU5OQmr1YrOzk5m6dFEZocsTeJD8/cQPAD5xXzIbDZT/T0EDqBWq9mvc9Po6Ciqqqr+8mehByBT5nK5WIuFa2pqClKp1MfbD3oAmUzGWnAT2SP8vf2gB2hqamItuEmpVPr4UqAHIP98PhTCmUAPYDQaWQtuqqio8PGlQA9ANh0+VF9f7+NLgR6AHCh8iGzR/t5+0AOUlZWxFtzV0tLi4+0HPQBhcHCQtZifunvHEZ/bh4PZX4MiyLLg7uNya8AAOp2OtZyfHrzoRURaP8KFLKk2RAnbEC1sZYgQfmI+3321H3GZ774HDFBSUsIcOPNVdslnbE3unuHiR4jkNqSK+yBtHEaN1om9aVZvXSB88yNgAMJClmNWoRmbzrYyHMrohNY86rk3IvaaCYbun9iV3DZbT5YFD1BUVDTvMyEjz4j1CR8YolJbYLL9REyKGpGXNHir/46Np5u99QMXngcPQFAoFNTngUC69lSHdcfrvCTc1qNabUej8Qt2JL33qcUkFc0dgNDQ0MA8XPiLnHbkuCXX30p7qMGaI7IZDr9E+KlKXHlQD+fwFO49a8ZagdRbj07MCy0Aoa6uDkNDQ5iYmIDdbmc2q4KCAqZGrqTd09ODy3feYHWshOHyvbdQaD5jW7wUkeeU6Opx4ajwlbe+L+5h6AFCZf/JHKyIzGNQNdlw/qbS234i0SEx87W3vefY3R+8v5xGncjG0l25DGcyFWg19yJXrMLtp69QKjdgVeQjtp6DCMH1b7y/nicl33KEbUh1h21Ox+ItGVi2PQsrd97E8vAbTDuM4Kkt2ZjiPhSXfv8XYhtjN6a71sEAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
537 var JUNODOWNLOAD_URL = "http://www.junodownload.com/search/?q[artist][]=%s";
538 var JUNODOWNLOAD_LINK = "<a href=\""+ JUNODOWNLOAD_URL + "\" target=\"_blank\"><img title=\"Juno Records is a UK-based online dance music retail store, selling vinyl records, CDs, music downloads and music accessories, founded by Richard Atherton and Sharon Boyd. The website was created in 1996 as an information-only site called The Dance Music Resource Pages, listing new dance music titles each day as they were released. In 1997 the site changed into the commercial store Juno Records, allowing users to buy the records and CDs listed. During the e-commerce boom of the late 1990s, the site differentiated itself from other dance music stores by maintaining a text-based presentation. In December 2004, version 2 of Juno Records' web site was launched, adding graphics, and more flexible navigation to the original site design. In February 2006, Juno Records added MP3 and WAV downloads to its catalogue, and in July 2006 launched Juno Download as a standalone site. In the same year, the web site also won Best Entertainment site in the Website Of The Year awards. In September 2006, a Spanish-language version of the web site was added.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
539 var MAGNATUNE_URL = "http://my.magnatune.com/search?w=%s";
540 var MAGNATUNE_LINK = "<a href=\""+ MAGNATUNE_URL + "\" target=\"_blank\"><img title=\"Magnatune is an American independent record label based in Berkeley, California, founded in spring 2003. It originally only sold music for download through its website, but added a print-CDs-on-demand service in late 2004, and in October 2007 began selling complete albums and individual tracks through Amazon.com. In May 2008, Magnatune launched all-you-can-eat membership plans. From March 2010 Magnatune dropped the CD printing service and moved exclusively to all-you-can-eat membership plans. Magnatune was the first record label to license music online and as of August 2014 had sold over 5,000 licenses in its five years of existence.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAU9SURBVFhH1VddUFRlGN6ZpouumuyqGy7ADRREkwRLyBgHppFy+hFpnKYZi5yQWBYWAkEhFYNIBtKRWNhdYIG1BVwBcTVImEzaQIgQMiMCYhCRBPlnYXd5+95zvnP2LLuL0OyNz8w7e/S83/s855z3D9EThYhsnUdAqtrgIZHbmae0yBCRW2OIy9E+Q91dg/fzan13pZZHb0lQmTfGFFo2SgrBmYmZX7l59xcas39KWViUstGdhvl/cJcU7PFLLp10RPY4E8cWQkBKWf/mpFI3Gm7tCE3XbtibVTXgISk0CoOStwBBaRXwifwa5F65BeobPaBq7obTOgNE5NVCQGoZbIpT2Aghb21+S7LSff9aP01ojnZD4PHy1hdji/gg3jIlxBb/AA1dAzA+swCOYFlehv4Hk6C5eQfePXMJhOc3xyshLLOqMryy8ilK4xxvZlUPCA/7JhbDpbZeWFgyUSoWSGg0mZn/x2sOeDkxuwAZF38GL6n1beC1e5L8WUrjGPjNha89NKMSOvpHaWgrTBYLlP30O+zL1oF/ihry9LfAuGSmd1mgqHLis+3zYl4EebDh4JNaT0pni4/P630DUtR8wvnIVNBOyJcFT8dhen4R9mZWWwNLi6D9b3uhS2YLyZHbvB8mppe0KJJS2iLklDaac9wUr4ALLX/QMPaYnDMCKTU+MNqPd4boXXvI1M0MOefrFpX/HKW1YntSiZlzOEyyfM64RI/bY70C7t4bh13HK3jfwLQKHaW1AhsI3sSMxaRbDesVgDlzRNEo9H9AaVmEZFQeJQKW8ebOY2Uw9HCaHmWBaTA8PsNXwmoCzJZlGJuas6kMRH1HH5B2zfiSipiPK256j9KLRCQ7DVygt7/W2SVelKKByeagdA0Yeu85FWAiSffRt1eJbwlEFlxj/s3h3+l5kltKxheTdne6JovSi0Q4TLhAieXN9AgLLC+2x7OW//2vTJ07EtB4e4DvhPi78rO8KsgDwulYQFbNL9SdxQxJRqGA7LpWphs6EvAdqRwvKgB/a1bk0ltfXeT9nQo4UdVC3Vm4UkBIhpb3dyogkpSgEK4SgE3JN1HF+9sI8E1Q8QJeJ4FnBT3AVQK6Bsf4e55SxdKBnLojlF4kOpBTE8wtGy8llUDrXyP0mOsE4DkxN+RiVvQBBCkNphGh05nLbaSe2RJyhQD035dtTUDveKW9gJeT1Wc5h8A0DfSNPmIOzy+abATkXml3KuDqb/02ZdjU8w8TQ9fai6S874fn9QmU1gpvmWoHaUgmzung2ctM58OWdChfz8zz7cmlTFCcEx+cq+cDYocbmZhhDMcztnOyE8Loo1kYIfbKsXLe97V0jTEss8J+GCHIOK7iphYuJSerWxgy7Hy61j+hc8A6cjGpZOomiFY2QtH1LqZdI+4Twra++wz54NgU7M+p4cmJTYg/KwyidPYIz6tz80lQzXMH8EmQBD+DI2BpLZKtyLZxsxh6OGW3mgWf0HRTKufwkha8QJwHuUNo75BAN+8OM4vIasAZMjo5x+yFO8inEMYgOdHpd1j+NKVZHe4SldgjRj4uDLCVDKPw3Fr4Rt/ObErTC6wYjrS5ZwhSLtyAN76s4hORMx+ZstMr+tzzNPza4EcWSPJX0DBOLmEwfKWYkEiylSysuLrhNSaicOuhNrHnlLZ7zU++ErGK657bEksid5J9f0Xgx1rI6Urjqgm3HmDZfKpo0GEDwS5GntgiTC58etJ4lvAeWe06cOc7mF/vuNRcgcgCfbr/0dIsHChiYiS7sySlTdbe/uRAJPoPYtbtYky8jo0AAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
541 var MUSICBRAINZ_URL = "http://musicbrainz.org/search?query=%s&type=artist";
542 var MUSICBRAINZ_LINK = "<a href=\""+ MUSICBRAINZ_URL + "\" target=\"_blank\"><img title=\"MusicBrainz is a project that aims to create an open content music database. Similar to the freedb project, it was founded in response to the restrictions placed on the CDDB. However, MusicBrainz has expanded its goals to reach beyond a compact disc metadata storehouse to become a structured open online database for music. MusicBrainz captures information about artists, their recorded works, and the relationships between them. Recorded works entries capture at a minimum the album title, track titles, and the length of each track. These entries are maintained by volunteer editors who follow community written style guidelines. Recorded works can additionally store information about the release date and country, the CD ID, cover art, acoustic fingerprint, free-form annotation text and other metadata. As of 6 February 2014, MusicBrainz contained information about roughly 850,000 artists, 1.3 million releases, and 13.5 million recordings. End-users can use software that communicates with MusicBrainz to add metadata tags to their digital media files, such as MP3, Ogg Vorbis or AAC.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAUoSURBVFhHxVV7TJV1GOZOEAES1wNiKgTIkbiIEIGo3MVzkosQCAkaYQgpsVxlqXOjmqZzWZZBaqCLctmMMrtBrFK2rFnNWpet29Yf5da0y1rWnt73Pef38fHxcamk3u3Zd77f7Xm+933e33FxBv4nSKCj7ei0In5uuhBGRSbhvo29UMFj0ypAEfNTT6xijAAV+kNUGN9V6NfqwaQli1fj8767nSvHxj8WYJzXvyvwuWbkLIrnOEwFTPQ0/jZ7V1AkHJx+vQ/UHD8Jf1+APtS4EYpEEaqSTCkDU/1t9q6gJ2FSJURBzRGmXwCDRRjDOWcuQA/9uDH06/Tgczn4yek3izEC/i2MqVYkPKbvCL0pCZdHgCLnw5lMEfL5OjINl10An2PW9xOdrwmIiLDCxzcUQYEOBAZEIPna2YIoSxwsllQkJJSgqmwL1jc9idZbD2Jjy9O4o/XZUYcZQ2VFT6qHJiAs0AM7m5Px58lq4NWbMPxwATBYKzi1Jx+t9lgkRPvDy9Mb4WExWJzdgKb63djQ3Iv21mfkMCbjs1S/8++JyBmagDOPFuK5bTmwXx+J6txodDbMx4GOhWgsmi3AqXqc6MyVDa6OTZg10yoZaWs+hPb1DhEMJmcReqLxoAmozo2Cu5urEDPRvbXzRExj4RwRh6FVeH9fETbXJOK7vhvh4e4qmwOoVCtKO6QsZgSTQRPAWFcaI1/KZHibnmca8enBUnzUVeIox0CNY26oToTUF1yD0EBv8Q6LMCOYDJqAuRY/+XIRwGRE/khrGmyZFnz21HLg9M346YVKFKdH4OvDdnn/4flyDOxYgsz4ADFtlX0TWtZ2kTFHyjEZNAFri6JRmBaOcweWScrtGRYEXeWFFTdE4vayOLy4fZGIu215DLbVW3FpoFbWs/CsxGA5iLvlgycoW2TiqUIT8ObOHPFAXkq4mIxJLxyvxIX+ldIFH3MZSMCaojlYmhwqpfjysA372hZgZc5MeHq4yWFsvkN3ZpiSmUETUJoeggL6IjYYtxzebXCUgheyH+j9ix4b/Hw84O3phuzEEJx9vNixjsqxpyWVjOkQsSCJWthANB40Ad3tKejbnAW8VQe8XiOOl1rTIq5zzz1ZKKdy7GhKRj95JYZSH3ilJz7pdhqU8P3RMnRUxMld8R7tN5KZQRPAtT62NVu+dv+GdPh6uWNoV54cPLg7DzVLomG52sexkdacP1YuIvJTwhwCSDTeoCfNZcbPkAvISGYGTQCbsMUWK2nld76EpOV4IdX+q16bjIsoJnKmnY36zRHbSLloz2sP5sLPL3gU0XjQBOAdGqBDuM249TRyZ9//0l8pHfDtESoLkw2vFgPy9czteekVusJ5nMSyj9w8/LQSToRRArhuvt4eUn8hprR+uL9YLiN2/EXqCv6v+P1EtbRbXJS/lIbvDPbCXdUJGNxbKOUMDvCfkg9GBJyuwV66eKTO9MWygAyZYw1BRJCP9HtabBByk0JljD3C+3o2ZcpX/0Fi+XbksfzUMDy0LkMMaSQ0YkTAcK2klL9KBNCBv75UhS2rrHIxcZovHq/Aj5QFzkjnLdchYsYVWDQ/BD/zPyhf0yS4buksPLAmCS/fX4B5CfmmpHqMEtDVvlAuFHE0TcpfM7elMhiDS+M04dnHHIaV9uVx8sWu5hQx57luOzJS6J5Q+8bBiAAqAbch/xanO7MgZPQ8Tz3OtWWRbEiZo9RvrbOiIjvKIZL28GXGgn47WYfC7GWmpHooARzq5T+Gi8tfA3Z4bJq4jN0AAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
543 var MUSICSTACK_URL = "http://www.musicstack.com/show.cgi?find=%s&search_type=artist&find_focus=0";
544 var MUSICSTACK_LINK = "<a href=\""+ MUSICSTACK_URL + "\" target=\"_blank\"><img title=\"MusicStack was started in 1997 out of my Ohio State University college dorm room (pre-google) when finding anything on the internet was hard to do and other resources for finding and buying music were just plain terrible. Nearly 20 years later MusicStack is still one of the best sites on the net for finding vinyl records, LPs and CDs.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
545 var PANDORA_URL = "http://www.pandora.com/music/artist/%s";
546 var PANDORA_LINK = "<a href=\""+ PANDORA_URL + "\" target=\"_blank\"><img title=\"Pandora Internet Radio (also known as Pandora Radio or simply Pandora) is a music streaming and automated music recommendation service that serves as ''custodian'' of the Music Genome Project. The service, operated by Pandora Media, Inc., is only available in the United States, Australia and New Zealand. The service plays musical selections of a certain genre based on the user's artist selection. The user then provides positive or negative feedback for songs chosen by the service, which are taken into account when Pandora selects future songs. While listening, users are offered the ability to buy the songs or albums at various online retailers. Over 400 different musical attributes are considered when selecting the next song. These 400 attributes are combined into larger groups called focus traits. There are 2,000 focus traits. Examples of these are rhythm syncopation, key tonality, vocal harmonies, and displayed instrumental proficiency. The Pandora media player is based on OpenLaszlo. Pandora can also be accessed through many media streaming devices, such as the Roku, Reciva-based radios (from companies like Grace Digital, Sanyo, and Sangean), Frontier Silicon-based connected audio systems, Slim Devices, and Sonos product(s). On July 11, 2008, Pandora launched a mobile version of their software for the Apple iPhone and iPod Touch through the iTunes App Store. Pandora is also available for Windows Phone, Android phones, BlackBerry platforms, HP webOS (used on the Palm Pre, Palm Pixi, Palm Pre 2, and HP Veer). Pandora was the provider for MSN Radio until MSN discontinued their internet radio service on June 18, 2008. A modified version of Pandora has been made available for Sprint Nextel. Pandora is available on Comcast's X1/X2 cable TV products. A GNU/Linux based application, called Pithos, which is available for accessing Pandora Radio and is available for most distributions via their repositories and is also available to build from source at https://pithos.github.io/ The service has two subscription plans: a free subscription supported by advertisements, and a fee-based subscription without ads. There are also ads in Pandora Mobile for mobile phones and the Pandora in The Home computer appliance. Most users choose the free subscription.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAQ1SURBVFhH7ZZ7TNNXFMeLmYMNnJmNMiUxW5DhDJsPRmEE3VDHiIzIgszphGy4PixjgaDhZaYzmzLdlqGutFVBmLIsVgRhujnDQF0k9QljgzoeKuVR+uSfJSPhd3bObWtbWuqSFv/ZTvJNm97fud9P7z3n3h/vvxQBtk/vEVpQE5z8UVmCaM9xkXBvtVTsgyhf9Em1ZF3WjsS5SzJCcHqvEAHRazMWphVWVabkV+gzihQTm4oVnK/aWKTkUvJkptQCuYqfvTOSfKx2kyI09PXg1bkVlRsKFeNNzW3cvYFB0A4O+6z72iG4eOU6wUys3HqgcV7U6lC0c4eIeGPHylXSCsP5Szc4s9kMRqPRb6L5Ll/r5BJzZH8tiFn3Htq5A0S9/bE4vbRm4j5SU5LJZPKbjEYTjOj0kLWnllsY/87XixblBtpsHbH4rRLppt21nHZI5wIwrBuF7j4t3Lk7CN39qD5XafC3/oFh0I0aYMxCK+cOQNLp9SAsU3FhcRuO8eOzZ9lsHTEVwNWOHpB80QBJ22sg6n3ZA0VmHoaILYeYYsRKSC05CWUnWhiQ2cnYLgbwOQGkV84RvPuUzdYRUwGQaA/vakcg8zMVRIsUIJAo4eCpK9B6UwOtNzTw7Y/XIaXoBBtbX1ILbR29LvkknwBIZrOJmZJJ7DYlNFzqYGD28RYEScw/zsaz9p7GrdO75PsMYEGzul/aIVroDGAdo30f1RtAdKAeVgjlEJ9zlG2dwWkevwCcvfybRwDS2JgFtsvOw3IEoFVQNd8Co1P+tAOQWW55EwMQSI5A87XuR7cCtAW/9wxYCxHHU4tPstZ0nsfvAPWtCIC/k/nNrn4QY6vS0r8iPQrfX7zl1op+A6AiI6NlH8hhaXYF03L8Tq255dNTcKGty//nAMkBoGAHz84jF6DqnBqqflBDXUs7qDv72Gk4Oc+uadoC6zlABehc8Z40rUX4b+QXAPrXtAUEQMtueZQAVFjKhjZYgQVINSA/c5XdfpOfm0o+AZD5EJ7twv31rANeFisgu6yO3fGeKt6THgqwJL00Z/Pu79wA1J29rOLplnsRW875Sk4rrYVdx36GP3oHXMw86aEAL6QWbtu4y74CjsShET0aaEGDLyR01z94GcHvd1Bd+LLirf1I1CH0zNZ9Km6+IA0Bkt0B5kYnJ62Syiy/3v6Ts7eXPdmEQATlTc6GbsJibdfcg6Q85Tg/PPYrjwC8mDX88DWinyT7T3O38WG9wWCT0QdZ82kF8w82QvhaUc/MoFmZ6Pak1dQ1AgJnh732bMJmdfKH5X/nl5+FYvk5rsQHUX7B4UZ4M++b8edezeoNnD1vH/q8hJrBHD1EEC/o6YSQ+ZFfzomIO8N/Pq7JZ4XHNYYsiKye8XhwHs4fi3qCOXmJmbhCz+DHUh7vMYEfFINzLkOFWef+P5yDx/sHpsOr7DVpJL4AAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
547 var PUREVOLUME_URL = "http://www.purevolume.com/search?keyword=%s";
548 var PUREVOLUME_LINK = "<a href=\""+ PUREVOLUME_URL + "\" target=\"_blank\"><img title=\"PureVolume (formerly Unborn Media) was the first independently run website of its type, allowing for the upload and stream of music files. PureVolume was created by Unborn Media, Inc; Mitchell Pavao, Brett Woitunski, and Nate Hudson all from the University of Massachusetts. PureVolume is a website for the discovery and promotion of new music and emerging artists. The mission was to give artists a new promotion tool. Each artist had a profile that typically contains basic info, updates, photos, shows and music for streaming. Artists had the option of making each of their songs available for free download. Listeners and fans were also able to create profiles to interact with artists and each other, as well as track and share music they like. PureVolume went through several layout changes and a change from orange to blue in their color, however the layout from the homepage to the artist profiles remained essentially the same since 2003. The focus is on promoting ''indie'' music groups and artists, meaning those who are not in the mainstream, although has also seen the rise of many of the previously ''indie'' bands they were promoting.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVBMTJGMTBERjBGRDExREY5NTQ2OUQ1Q0I5ODZEMjg3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVBMTJGMTBFRjBGRDExREY5NTQ2OUQ1Q0I5ODZEMjg3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUExMkYxMEJGMEZEMTFERjk1NDY5RDVDQjk4NkQyODciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUExMkYxMENGMEZEMTFERjk1NDY5RDVDQjk4NkQyODciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6bn0yNAAAE/0lEQVR42rRXzW4cRRCunp+149hrIRlHICH8BMicOKAQpEiIE8qRo/0ICCHBkRNIIPEI8Rtw4wAHQEoOnIx4gRgkJJwQYq+t2Ls73UVVV1V3z+yGCITHGk93T039fPVVda9DROCrbds7VVV9tToa7aBz4Gi9fPLlVJYvW7P1/jxK9Nbsms1mR977T+fz+YF+i2z87ks3tvduv/0W7LzyKq2qEVLEOsRJJ8umU5YA1ZgjwShfyNh39gHLHP32K/zw4z34/fj4gJzZd03T3Hlxa+vr9959B04mE3j05+O+hd4Y1alCKc2DRe768iUy7AwPt7e2YDwewzfffgd/PHy070Zte3j71s3d6eUlnJ6fi7aqwKyc25iejp6oltO4kItrz/hmvLkOK6NV+P7e/aOmHY12L8j4yenE4gDwElnKoU864juRkUgrGvvemiLgIaGW1vV5enJGTsTU7zS8cDY5gxAwKQxJT9A50q3KBlcwp+PI9XQ4hxF602EBBvo7m5zD9bVVaFhg1nVg1RCWGvh31/N0MFfYZiDkyAFPEAZhu+OykCiY87gkYpHpj9FZ+SlKn9yXhc/eHBhWnIKQmYNuOLvsBESD/L1kO5uu+nFgkQgbY+Z+lNd1RynsOazPQINA6jz9a9ATAuQRM7TiD4OHUGXTAbroXBXZXCASnPpWlitfHVsQ8iMWDucUo5GWIGmEa0IgXyQtpiDBS5GgsDyorYqjCxoVhVhZP1A+sm8ptZgDwqhXCM/BN9YkMAzbDiqMUpI+tmV16OOfBJfP31AZqTAbMwJeMS+6t2KJWnEQg2qiPKfAGeW04xWkixMsmOetSkMG1xWcMChDGZV2RHXAKbKxDIMn32qOsDIqEtQhRZxZLyByhC6y2UvUzG76toqpYscK1qHocfzWmV8+9oZYBRibGyn03DAwNboqwl6SkRV2Yk07oxnyUcazX2Sk7Hy+4GhX7lLgAa0MJRpW1sV+51L3tN3Nf3QouHzxuix6YTlBp1tiLgwnEYndEBIvrBKclmFdVfHZxLzR3YUgUZF0wMVWVkkBawoMSoRekWHegIK1chQ6y54kY6kuzCkQpV5qNLLdRShTaXkL0esDJS0oO4T78JeImPvyNdHmNVIf8l6RSsi2R0lHYxsEN6NYNi4TMfUFGsz5Mysfb2zHAesxyYdC3lDyaf/2UNMfV1EjtRqit9phFncAVRRyL1XIsW94MA840GQOoEvV2URW0+2jcNANBXqbLxrrMSNgZ0GXM5POjDiYp81I01zF/cc4gAp96MoTZQ8FH3JXBOjXOep7vmp9z/OqRAQyae1oBgkB3Se9ttyqwqUbfNpcFEks5mmj1LkbyOcMoB64cpBNyp1GibjkDJB6NxblV6TkOe8zlcRzp2mPqNJvAXz5xjY8OT0RSNoVuKqrm0/TGeOFzTE8pBN4SkGKZgkC/9eVU+QTAo3VaVO3MJ/PrtaBoAcUlwnaQD6MQ8CrRcCKp6krIb4eSH6+vJzurtIR+el0CrPpdNHzQV9wvf7WP5At+254baytw9OLSx4e1cTI4+ls/v54fR2urYygo7OB1euzlP4jzEvmsWQp4pW2hc2NDajbGh7/9YRffxB/nNZ1fZcc2duk32zX164tNBBnJZN+47kFVMpUJrIpue3JsF9cXFDFTXh+QCnYTy2RypF/nh+SMA5v2SQXx//lJhsP6N4zu38LMABbc58tQ/iNogAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
549 var QOBUZ_URL = "http://www.qobuz.com/" + QOBUZ_COUNTRY + "/search?q=%s&i=boutique";
550 var QOBUZ_LINK = "<a href=\""+ QOBUZ_URL + "\" target=\"_blank\"><img title=\"Qobuz is the first music service that provides online access to all labels (majors and independents) and all artists in all genres of music in High Fidelity. Qobuz offers: Subscriptions unlimited music streaming True CD quality (16 bit / 44.1 kHz). Download in lossless True CD quality (16 bit / 44.1 kHz) on its entire catalog. Download HD to 24-bit / 192 kHz over 12,000 albums ''Qobuz Studio Masters''. Qobuz also offers extensive documentation on albums including tens of thousands of digital books, biographies and interviews with artists, and many exclusive editorial content. The purpose of Qobuz: offer the best music service in the world!\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAtGSURBVFhHlVdpUJRXFqVq8iuVpSo1kx+ZpCqpmFRMKqkICqjssguyGCXGuAWJEbRQRDSsQrMvzQ7d7DTdTXezNN3stiKb7KggCihqNBo3FqtizT84c+8zMEnV/Jih6hVff99975533rn33Wtm9qe/R48e/b1E2xDiLZFf35pQvmSfWLXokKJYdEqtWXROV807pasWt6Wr/7eRqlxwSqlZ4Ln2idWLvinlE+W6xqPs488+xTOAv2ma2/Y6nM2Z+zKicPmrSDm+jimFeVw5NsZXYlNCFSwl1bBMVGCTpAoWsfQtWgbzqOJXg5753Sa2SaqBFQ3LRHqm3xtprgWtsSG2HBtiSpdd4grn6lrO72Gfa0C0hvY95uE5v38Zkb+yIVqOTTTBOqkaW1KU2JqmxtZUFTZLKrD1nBw/FWuR0dAJ5YUB6HuH0dQ3AtXFAfGOv9nGl5BtJWzS1bDL0MBGzFdiczIBI1Ab48pWrGNkL2uN7fsEAKbE6Wz23FdnClYsYkpgzZPJsX1GLZykWjimK7EnrxZV5/sxNXsLv/zyC+7fvy/GxMQEZmZm1t7xN7apNvXjuwINnDJVcM6px7bsOjjSWnYZBCaFgMRXrHgmyG6L4yjT6IO/OlO0bEGUb06sgh0hd5Lq4JJbD48sJdIbz2NqegZ37tzB3bt31wb/npubE+O/fZuankWm3gRPqQoehXq4F+jFmk5ZxBIzIqlaVupbAs38k0uvfB1dAis6W9s0FaHVwTW3Dv45ajR0D4gd3rp1S4zp6Wl0dXWhuLgY0dHROH78uBj8LJPJ0NPT8xf7mdlZ6HuGsKtAC6/iJmwvNsA1v0Ewa0Mg9mdXD5rZJVUtWcRX0HnXwIHQubDz3FoYegZw48YN4XRqagp1dXUIDg7GwYMHkZKcDEV1NfR6PXRaLQoLCxEeEQFfX19h09jYKObwXF6juW8Iuwu18JYZ4VlkgDMxYUdH7CqtfWHmmqF6Zkm7t0lXwYl2756lgrKzW5zv5OQkhoaGIJFIEBgYiKYmA9rHJhFd14kwZQtCFUaEVOgRUt6I0PJ6yOqbkZiUDD8/PyQlJWFkZESswWtpTL3YkU9MyI3EQiNpQgePHO2SmUtm7bxVkgK26bVwJJGcUzdjZHQUV65cQV9fH06ePInQ0BNE5QAyW/vQduUmHv72Gx7++qs4/xu00zGy7+rtQ7LGiODSOhQo1Ni/fz9OnTqFy5cvi7VGR8eQpGuFZwFpq6gJTiROz7w6ApChXrBOVsKWKPHOqEZXXz+Gh4cxODiIMxFnEHLsGKo7e5DQ1IXHz+axuLiI58+f4+HDhwIAU832vb29uHTpEgydJpxWGqFsM+HQoUOIi4vDwMAARsjmUt9l+FNEeZAWnHMb4JXfsMgMLGxOUVHoKZCgaISxuRnnz5+HXC7H9u3boTX1IK7+Ah49eSqcv3jxAvPz8/iNWGD1M8XsoLu7WwBg1kavTSCpuQcjE9fh7u6O0tJSGI1GtLW3I0ltgFteHZzzGrCjoJEASDUL1hT3tokV0Ld1ikU6Ozuxe/dulJSVIaymGbN37gmHvPOlpSUB5OnTpyIk+Xz7+/vFPGaBGXny5AkePJ2HYnAS2bm52Ldvn9iUYKjjPFxIZy4UDV4F+hcCgBVlKd+0CnR0dAjDiooK2NjYoLK9C6quy7h9+zbu3bsHShxrIJgFfsfny+HHgxXP71++fClA1vSNo71/ENbW1qimqOG12cf3eWq4EAM+hU0LrxggEQbnK9DS0iLG2bNncZTC6Yhci/GrVwXNN2/eFEAePHggQLADfmals3MOOWZnYWFBMHPt2jWYenqRoGmBD4VnVFTU2vphJRpsy6mDLwNwYwCUfs/KakRccwwz/ZKEBByWaYWDUVL5+Pg4rhIY3iWLj2lmIfL5s/PHjx9jlhIPq95kMqGtrY1GKyIUehyjZMXH0NDQIHzEltdSwtNiR1HT0h8AqhAjU0Cn00Kj0cDNzQ1ZWVkIIgb4fHnwwjzYIecGBsNAeKcM8OLFi4Le1cE6YsrPUETERMcIQfPanLjiy0gDBMBP1rRo5pbNDFTh54JKKJVKKBQKODk5IS01VQBgYfFgdTMQDjk+EhYbhyrTzVpgFliQrImxsTHB3DABjdG1UyjGimhgHSiVNYiRK+CSo1sFoFuwpmvyuLREiI9DxtnZGRGUWo+UNdCC47h+/boIOaac1c/PTDPvkHXB9PN7jhS+Jfk7H8cMgZK2XKJkdgIeHh5ibfZxijYr7hu54TkxoFvgu3p/mkxcKHzRfPPNTgTs+Q6R2g48IKesbB4cBawBppfpXL18WIysCRbns2fPyI4yJc2bmp1DZfcIXF1dERAQgKKiIuHjUHYF3Oh29Cs2kAgZACUi98QS5OfnI5fiNjQ0FB9++CHUlwZgHJsSO+S7ns+bd11bWysExUfAgPgY2CHbMYCLEzNoGJ5ERfcoLg2N4L333hNr8trsw0+qgHthEwEwkggJwJZUKhQoEcVk5CIzMxOxsbFY/9lnOBMZhbjGCxiZnBJCY+c6nQ5qtRqtra3inFkLLEamnhliJhjEwM3bCK+/iGOhJ7F+/XpERkaKteOk+fDI1cCz2EgaYAAUhgzAjm7D/SmFSCXxcf72o9j9JyEvpIvltLIZLR2d4kpWqVTiP2uAQTEArhVYiL/SBcU6mLv/AIUXhlBTr8e7774Lb29vUTPw2gczS0Vt4En3gf9/AKjgQEWCa2olIpNeAQgKCsIXX3wBc3NzJBSV43ipFuU1KrH7pqYmkfs5N7BAuWhh4TEL03fuosA0iObuy/j444/x+eef48CBA4LVqOQ0eNPuvUtaxIW0BmAz14BZOlEN7UyRIeLnSFFYcIHx/vvv45NPPkFYQgp+LFYhvlKDBkMz+ig0xyncOCRZ7RM3p1HTM4zSriEotHX46KOPxFwvLy8cOXIEkTGxOJAhh0+JEd6lLXCnwkRogG9Da4oCu0yNqFRcszU4JJEi/PRpgZxD8oMPPsDrr78OB8oP0Vl5iFYZEK9tRRwVJpJGE6TGi5CZBqDWG+Hvv1PYsnMHBweRAU+FhyMoKQc+xY3wLW+joqQZrhQFvkWUiqnhWOBa3oYKEifKzxweHtkqBMUmIzgkBLt27YKdnR3WrVuHN954A6+99prY3e7dAQijYuVU2El8u/d7onud+MY2n376KWxtbbFz507B5JG4FPhQXcjOd9Du+fz5Ot5e2LBk9r20enATJaItVPvbU03IH9y5ipUqsTcqGT8cDhIllqOjo9ADnysL66233sKbb74pxttvvy3eMUi2YVue88Phw9gXnQIvqjF9yDGfPTsXJRmV6gcLaofNlIb2g9S9LHNZxk0Ig9jGR0FGLllq7IiRYu+PR2k334g7gndmZWUFCwsL4Wx18Dt7e3uRctl2X9BP8ImVwj2HQk5mEKJzo43xBtk5FaXLpfWGY2ZU4bzjLim9Re3TiiWB2ExMcHnGQNjQMUsDhwQ5PE7EwO/AYfgRrSwsdvTnwaHmT9/8DwTCk2wdE2Si/HbOaxQb4hrQgQpR1hp1WiteqZVzFLL/EN2Rrq3zW8v48t/Nz1WsbBT9nQJcJzIY0ZrR4HS9KVYOq/A02IZEwTHwBJwDQ+F8OBSOh8PoXTSsw9NhGUetGdmyplYHz9/Ca9B6xPTK1sSqf9V3mALWesNXzWnHXo+E4umvz5UvbzhXCfN4aioTqJfjBlNCTSk3pqI5rRbNpnlcGcypIeWm1IKe+R3brtmt2tN/fs9rkc3y9qSSmfpWU8BfmtNVJNyrldU1/eSXUnbVRlK5aE+tuV2KcomHA7XZ1J7Pr/7+f/5vlVS98Ekuu1auMxxdo/0Pp/8GL5eZuu+VUhAAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
551 var RATEYOURMUSIC_URL = "http://rateyourmusic.com/search?searchtype=a&searchterm=%s";
552 var RATEYOURMUSIC_LINK = "<a href=\""+ RATEYOURMUSIC_URL + "\" target=\"_blank\"><img title=\"Rate Your Music (or RYM) is an online collaborative metadata database of musical and non-musical releases and films which can be cataloged, rated and reviewed by users. Rate Your Music was founded on December 24, 2000 by Seattle resident Hossein Sharifi. Unlike Discogs, focusing on electronic music, Rate Your Music was in its beginning more rock oriented, before gradually integrating every other genre. The main idea of the website is to allow the users to add albums, EPs, singles, videos and bootlegs to the database and to rate them. The rating system uses a scale of minimum a half-star (or 0.5 points) to maximum five stars (or 5 points). In this manner, Rate Your Music bears resemblance to a Wiki, as all of the databases content is generated jointly by the registered user community (artists, releases, biographies,...); however, the majority of new, edited content must be approved by a moderator to prevent virtual vandalism.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAEbSURBVFhH7Y/RasJQEERD8fOlT/2cfkHpP9lMneA6OdfrTZBacOCAJrtzNtPT5/j+edqKK7aHSkdx1VioaC+u7oeWxffXx93QvrCiHVoSJOlBPcKqdWiYipPD2+EXeieo18rr5BCVEcsBI0dYeUkOUEmLesBchTMiHWezU1/Q8i3q19ffRPVYve/rRUrnyuYR6XrIAcuz+n8hXasDaKnHyAGi+l4HPOSAufLvDshjiOr7Xwcs5S1oh6i+1QGClkiY0F6Sruc4QKkPaZGECe0l1WP1OfWFyEUSVnKeSIfVl+RAFpBY5ByR3VZeJ4cElY1CvVauQ8OCintQj7CqHVoSJGlB+8KKfmh5L64eCxWN4qrtodJ7ccUrNzJNP/u1WSLy8Qs3AAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
553 var REVERBNATION_URL = "http://www.reverbnation.com/main/search?utf8=%E2%9C%93&filter_type=artist&q=%s&use_postal_code=0&geo=Global&sort=relevance";
554 var REVERBNATION_LINK = "<a href=\""+ REVERBNATION_URL + "\" target=\"_blank\"><img title=\"ReverbNation.com is an online platform, launched in 2006, that develops technology used by the music industry, including artists, managers, labels, venues and festivals, for promotion, content management and cross-media licensing opportunities.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
555 var SCNLOG_URL = "http://scnlog.eu/?s=%s&cat=8";
556 var SCNLOG_LINK = "<a href=\""+ SCNLOG_URL + "\" target=\"_blank\"><img title=\"Scnlog.eu\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAQHSURBVFhH7VdrTNVlGP9/87LUtaYtdV0+pEvzgpemYqEtdVqrlfNCo1RQmRdEUETQgYAgQmUhIAqoFWQIaoiB4i1QcDD1JJApKjABFVG8kBwPt1/v8/zf/8s5wNbpQ9AHfttv4zyX93nOcztDM4AuhgyrQ8q6HN0a3EBPAj0J/H8SKCwqw4zF2/HaNK9O6RPxMyyNTYhOOgnHhSGd2rw+3Rs3Ku5hx77j/HnKgmAcOHYBTc0tMoqO+mdmjPrIH5EJmXoCDWYLBk9dg15vuzLJeW9aDq7erFasrqnDjCXblc2YjzfhgummjQ0Fp7feeN9b2RFHzvHD3kO5MFsaOYHY5FPo57AM5VW1egKU0ZB3PW2c+o5eikW+e1B1r46d1ocfsNEfzy1ieXskpefZ2FnzzZk+XMGRH/rB2TuW7VULqkUgN/8E9BntZuM0aPJq/mbWCY79ZDNaWmzLSmhtbcXk+UGYvfQrDjRs5gabtwz2HuWKvEul7KNRye7WPtZ5/zHST1/GiDkblfELY5dxeQdOWqVkLuvj2nwkqc85hX+Kx91w4nwxP97Y1IzkjHxMnBuofImOziGsJ2irgr5H/3HLO+Vbs315iAhRP2bj5SmrO7V71WktntQ34AufOEyaF4TmdtVpFsll5V7hIR8wzh0HswqkRiRAZSOcyi/BsbMmZr7pBsva41mDBecuXld2Bk/mlbDOAL1ZUloldL93sCWWipYa4AQulZRz6YwShe/OkGodZJOYmoOh7+lzMHzWBkz/chsmfBagfJxcQtmuuLQSU523qvdoW8jWmoVFt+TLcgiXbIxXD704cQVq656y0sBOUf7eUj/+0wA0PNfX6VrZHeVHpFtivc5zPaK4HdSCw9kXkZJZgGw5Hwa0yrsPRR/dlZNH8A9SpePBo3q89M5KpU/NKpQa8HEy5LT78z2j1WfaJtPVCrbLOGNSct/IFJYZ0MLijrY5ibIVX6+UKh3UX0NPB+q5pYnl1TWPxIrqm0FrlZD6Gw+jYTvNJUy0hE0xyzWCZbRR5ZX3daGEtiJwv3KiBNaF/4StsemKBVdusSPpX3H0QHDML0wHcQtI1s9hOSLif+VgTiKo8RZtUIjw9/v6oJqHhV4xMmwbNDqxW3YegVdYcgcGRh3mHlIVKLH2+sjETJRZfSNqZ8B3hzrYGSy6dltatkFdQntwXlyvDxaHw9UvHv7fpCIo+gjcA/bxZaRjRPAMTYJZDqk9sCsBmvqaB08wSFzDYeKe048JJZAofrCoPZ+v28V2l/+owKYdafy3vfjHBGi3F6yNwZ6Us/x7QHtNwUN3HeWTSzNAA7f52zSe8Kd/maWnffhXLfgv0JNATwLdn0B3/n/IwQ1IWZdBj6ppfwONaZ4VPY21VAAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
557 var SOUNDCLOUD_URL = "http://soundcloud.com/search/people?q=%s";
558 var SOUNDCLOUD_LINK = "<a href=\""+ SOUNDCLOUD_URL + "\" target=\"_blank\"><img title=\"SoundCloud is an online audio distribution platform based in Berlin, Germany that enables its users to upload, record, promote and share their originally-created sounds. In July 2013, it had 40 million registered users and 200 million listeners.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
559 if(USE_SPOTIFY_APP) var SPOTIFY_URL = "spotify:search:artist:%s";
560 else var SPOTIFY_URL = "https://play.spotify.com/search/%s/artists";
561 var SPOTIFY_LINK = "<a href=\""+ SPOTIFY_URL + "\" target=\"_blank\"><img title=\"Spotify is a commercial music streaming service providing digital rights management-restricted content from record labels including Sony, EMI, Warner Music Group and Universal. Music can be browsed or searched by artist, album, genre, playlist, or record label. Paid ''Premium'' subscriptions remove advertisements and allow users to download music to listen to offline. On computers, a link allows users to purchase selected material via partner retailers.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
562 var TIDAL_URL = "https://listen.tidalhifi.com/search/artists/%s";
563 var TIDAL_LINK = "<a href=\""+ TIDAL_URL + "\" target=\"_blank\"><img title=\"TIDAL offers true High Fidelity lossless sound quality, a prerequisite to enjoying music the way it was intended by the artists. For a single monthly subscription, TIDAL is the first to offer both quantity and quality with an extensive music library of 25 million-plus tracks, streaming at more than twice the bit rate of competitive services. TIDAL subscribers will also be able to watch music videos, all ad-free. TIDAL's editors hand pick the music presented in the service, personally selecting and showcasing the best new albums and tracks across all genres every day.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAKESURBVFhHvZVJaiphFIVLAyEDJ4qjBKPo1BayhDg0CCoqToJkG4HY4QZMJARFcAUiuAqbsQ1RHIQQp1FjQ27e/R+/qeZW6UNe/fCBde6pOsdqBdECnZEsyqAHbFEDPSFFPSFFPVGKTqdToVGcnp7CxcUFOZPjcDjAaDRSM6mQyWTg8/MTrq+vJbocDG80GjAej/cW9nq98P7+DtVqlSrxu5HL5eD7+5sxn89VS2B4s9nceSeTiWoJDP/4+Nh5a7WavMTfH/l8fmfiYIlgMCg2K8I5VAmfzycJ58hKCFAoFBQmjrjE2dkZtFot0odMp1NwuVzM6/f7YTabkT6kXq/DyckJCMVikTSIwRKhUEgznIMlotGoZjgHSwh3d3ew3W5JAwdPI57O5+dnci6m1+tBIBCA0WhEzsXgZWeXIJ1Oq5bAcLyR0GcwGKBcLpM+pNvtgtVqZd7Ly0sYDoekD8lms8zHCiBUCXx0PB4PNzKwxNPTk8SHdDodsFgsEi++IwaDgcKLj7rI97vD7e0tbDYbZsJwt9stNu7AEo+Pj7sDUuEceYmHhwe5R7LBSry9vamGiymVStBut8FsNpNzzvn5OfT7fbi/v6fmCgFMJpNCo8DrHIlEyJkcjWOS4l5sNhu70xeLBXtEKc+BkKIm+M9fX19313W5XB5TghRVkYeLS9zc3JD77IEUSex2O/v6ycM5X19fEA6HyX01IEUF+B045O2GJa6urshjqECKJKlUCtbrNRnMUfnma0GKqiSTSdUSlUrlX8MRUtQkkUgoSry8vLA3JOXfAynuJR6Pw2q1OjYcIcWDiMVi7JtwRDhCinpCinpCinrCFjXQA8miDP+TP0sQfgAbiI7MBa0d0QAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
564 var TUMBLR_URL = "https://www.tumblr.com/search/%s";
565 var TUMBLR_LINK = "<a href=\""+ TUMBLR_URL + "\" target=\"_blank\"><img title=\"Tumblr is a microblogging platform and social networking website founded by David Karp and owned by Yahoo! Inc. The service allows users to post multimedia and other content to a short-form blog. Users can follow other users' blogs, as well as make their blogs private. Much of the website's features are accessed from the ''dashboard'' interface, where the option to post content and posts of followed blogs appear.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRjVDRjVGRkNEMjA2ODExOTk0Q0JENjYyMjkyMDY0NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0OUE5MzczQzJDNzUxMUUwODZENEY1QzQ4MzY2ODM0MiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0OUE5MzczQjJDNzUxMUUwODZENEY1QzQ4MzY2ODM0MiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNGNUNGNUZGQ0QyMDY4MTE5OTRDQkQ2NjIyOTIwNjQ3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNGNUNGNUZGQ0QyMDY4MTE5OTRDQkQ2NjIyOTIwNjQ3Ii8+IDwvcmRmOkRlc2NyaXB0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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
566 var TWITTER_URL = "https://twitter.com/search?q=%s&vertical=default&f=users";
567 var TWITTER_LINK = "<a href=\""+ TWITTER_URL + "\" target=\"_blank\"><img title=\"Twitter is an online social networking service that enables users to send and read short 140-character messages called ''tweets''. Registered users can read and post tweets, but unregistered users can only read them. Users access Twitter through the website interface, SMS, or mobile device app. Twitter Inc. is based in San Francisco and has more than 25 offices around the world. Twitter was created in March 2006 by Jack Dorsey, Evan Williams, Biz Stone and Noah Glass and by July 2006 the site was launched. The service rapidly gained worldwide popularity, with more than 100 million users who in 2012 posted 340 million tweets per day. The service also handled 1.6 billion search queries per day. In 2013 Twitter was one of the ten most-visited websites, and has been described as ''the SMS of the Internet.''\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADeElEQVR4nL2XP2wbVRzHP2f7znHv4j/BMY5cqzJYYqkgTEg0C1O9wAAL6gBIHdkYEBKoiI7e6VAJqclQJndADEZIsAQJTynIHVIsjNRacR3HvpzvmuSefWZI7OD4znHS4O90er937/u59+f3fie98/1fCnAL+ARIMRvVgHvA7QDwjaxFv5C1KJI/MBP3fq+bEqb+pTB1vw+4Kc/HZmYOIPkDyPMxgJs+YFHy+WdmPoQ49Fz0zdz5hC5+3vv942dJmh3A860qfac31q5E4shaFNvYQXTahBJpfHJwMsBe4wmOOBgZwEu9fYv9nS1ymTAfXY2RVOVhrFg1uLPRxNxtspwI8caVBVbLT1BT2ckAjjjg7vU0Ff2AfKkB4Amxv7PFp2/G+eC18XguE2Y5EQIgqcrcWt8icGl+pM84wNEaZmNBsrHDqcqXGnSfdwgl0iNdbWOH5UTI1XygwYxU2ge8nVIBi99bzwjGXgbg1FOQy4S5ez1NQnGwahWEqQ9jotPmWko9bYjhB1m2w/pTa2gObjNwtHNN20FTfMOX7797hWLV4MHjXSq15rD7q7Hg2BBu+najSWFTZ+6lpZF2z1NQeKzz8dWFkbZcJkwuE6ZuCX57amEKB02eLpUUNnUuLWU4mfQ8AVbLLa6l1OE++K+Sqjxx3b0kSeOwnpvwlw+zY6HzyrSdAcFYbBzpqNPDxt6FAUway3UBAyGNtXLrwgD+2N7zvG1dAYILSR429siXGsfT9wL6qWoQirvXOp5bWE1lKVYN3nvw9wuZF6sGpu0gBWTXuCdAvyvQFB8/vP/Kuc1N22Gt3EaJxD37eAJIARnTdvjs19q5l2H1UYu6JSZeZhOziJrKUmkfcOPHfyhs6tQtMbV5sWoMk88kTQSwd49T7mHWm650K1YN8qUGSiQ+lvlOyvVsCFMfmt9eWWLl8nQXjmk7rD5qUdjUT60jJgLYu00+fytBLhOeyhgOv3qt3KZuCdecfyYAJRInX2pwZ6PJSkrj9cQcSVUmGw2iKT7qlqBudalbgj8b+6zXTEzbQYnEUVNnuyNcAWQtiqxFcbqCn2vPKFYNzwH8yhzBWBrV45yfC2AgKSAzt3h5tLHfn6ranVZn/y+4QPMBwLZbOf1/68hz2wd8Jzpt+r3u7Mx7XUSnDXAvAHwtTF0Rpn4DSM6IoQ7cB776F2hFQPDrlggRAAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
568 var VIMEO_URL = "http://vimeo.com/search/people?advanced=1&q=%s";
569 var VIMEO_LINK = "<a href=\""+ VIMEO_URL + "\" target=\"_blank\"><img title=\"Vimeo is a U.S.-based video-sharing website on which users can upload, share and view videos. Vimeo was founded in November 2004 by Jake Lodwick and Zach Klein. Vimeo was founded in November 2004 by Jake Lodwick and Zach Klein, who left the company in 2007. The name Vimeo was created by Lodwick, as a play on the words video and me. Vimeo is also an anagram of the word movie. IAC/InterActiveCorp purchased Vimeo in August 2006, as part of its acquisition of Connected Ventures. In January 2009, Dae Mellencamp joined IAC as General Manager of Vimeo. She served as the CEO of Vimeo until March 19, 2012 when Kerry Trainor joined Vimeo as the CEO. As of September 2013, Vimeo's search feature requires Google Analytics to work properly and users of Firefox and Chrome web browsers cannot search on Vimeo without disabling privacy protection. As of December 2013, Vimeo attracts over 100 million unique visitors per month and more than 22 million registered users. Fifteen percent of Vimeo's traffic comes from mobile devices. As of February 2013, Vimeo accounted for 0.11% of all Internet bandwidth, following fellow video sharing sites YouTube and Facebook. The community of Vimeo includes indie filmmakers and their fans. The Vimeo community has adopted the name ''Vimeans'', meaning a member of the Vimeo community, usually one who is active and engaged with fellow users on a regular basis. Numerous popular entertainers have used Vimeo to host content. In 2009, Britney Spears used Vimeo as a platform to premier the music video for her single ''Radar''. The White House posts high-definition versions of its broadcasts to Vimeo. Vimeo has helped to offload traffic from Improv Everywhere's servers after new pranks are announced, and continues to host most of their videos. Vimeo was also the original location of Noah Kalina's ''everyday'' video, a popular viral video.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAABV0RVh0Q3JlYXRpb24gVGltZQA2LzI0LzA59sFr4wAAAjpQTFRF////////AAAAAAAAKioqAAAAAAAAAAAAAAAAAAAAFBQUSbHNRq3KH3mmHmaNR7XVGHWwTLrZR7PVJIK7Em6tDHC3DnW7E4nFFHq8Fo7GFpTKGZnMGaDQG5rMG6HQHaPRH6TRIKXSIqbTJJPIJKjTJYzEJZXJJqnUJ6rUKI7FKYjDKavVKorFKqDPKqPRK43GK6zVLKDPLZDHLaTRLarULazWLa7WLpLILq/XL5TJL6PRL6XSMJbLMLDXMafSMazVMpjLMqrVMrHYM5vNM67WNJ3PNK7WNK/WNLLYNZPHNZfKNa3VNbTZNp/PNq7WNrDXN5bIN7XaOKHQOLDXOaPQObbaOqbSOrTZOrXZOrfbPKjUPLjbPbHYPqrUPrXZPrrcP6vWP7bZQJfIQLfaQLvcQa3WQbzdQrDXQ73eRLLXRb7eRrTYR7zdR8DfSLXaTJzJTq3TT6HMT73eUMPhU7TXV7DWV77cWcDeWr3dWsHfW6bPW7fYXLfYXLfZXbjYXr/dYK3TYMPhYr/cYsDdYsHdZajNZajOZqnPa8PebMvlca3Pcszld7TXfdLnfrPRf9LogMPbgMTdgszlg8nfi8bdkNLnmtDhm9PlntfrpMXYp9fnqNjqqsvertLhr8rYuODuwd7rx97lx+jzydzoytfezubtz+fv0N7k0enw19zg2N7i2ujv3ePn4Ofq4uLi4ujt5OTk5ubm5uzw6Ojo6urq7Ozs7e3t7+/v8fHx8/Pz9fX19/f3+fn5+/v7bd+UPAAAABV0Uk5TAAIDCgwNDiUwMTORkqK12uXn6O7x7LQiJwAAActJREFUGBl1wc9LFGEcwOHPO/N1NDNbrDQsyIo8SFSXqHunqEMEHeoWRIeCLv0dEQR1lYIunrpF16ioi4foEKTlsFhp6yKLuuv74zvN7Gg/cOd5DJjB5Ca9TNuNDIMZvjMSReyk2nzSygxDd0eWLb0ko83Ha0IymNJbOx1LMNxTTxWJHglhM6JKpx9BUSopgjq2NL5PDpDr1Jc4dJRCjKCerjB78cJrARaGr+znx4c95BTBKYWV+v0DjD7bx89Lx/ug9muJnEMIntzX07cSGDqVcmaKwsQiOUEIHpi7MUVh0DevGgotTy4geAfcnmiOUHDn5mtHgM3UketDUA/Mrr69Ngao/8j5CWB5kYIiqAXSlLWDgLE0DhvovLcUFME5upZPAOral8eBL9/ocggdR5cYwHZGzxpYeEGpQ4RueWlyY6vXdxlTn9ZtCMFSMsDkg35ovLJsCQjeUWrthQGgMTPHNo8QAqX1GoWVpyl/BATNKDlDrv68zl+K4AKl+WPA54f8yyEEpTQzXtt4847/BAwn16m2+5OgPqZKUGLUxFRxrbZg+3xMbyGzSNSOEx9H7KQhs+1ITGw1UXrJrI8zAXWOChmYyESGKplmvwFhk85THbgQpwAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
570 var WHATPEOPLEPLAY_URL = "https://www.whatpeopleplay.com/search/%s&category=search_category_artists&submit=";
571 var WHATPEOPLEPLAY_LINK = "<a href=\""+ WHATPEOPLEPLAY_URL + "\" target=\"_blank\"><img title=\"Whatpeopleplay.com is the digital download site of Wordandsound (Medien GmbH, Hamburg, Germany). Wordandsound is one of the market leaders in forward thinking electronic and alternative music offering fine Vinyl, CD and Digital Distribution Formats to customers around the globe.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAASoSURBVFhH7Vb7U1NHFOYvamun79e00xdCq6FSW0cQdbRKdTotsUFEdErF1xRLgmCqDYQQHuGVyLMhAZpCk4AQZqACQmIhVaa2KNRAIEjydffc3JBAptIfgF/8Zs7cs2fPnvPt7tndGyNi69MKbKQE0wqI5rARsqnJRVlFIPYpOX33vF+E/DPtkKZUR/SvRcQYa5EIAoXnOvDH+AOcPlqPk6kGcOi1/REDHicFZ4UYp1gM3tZeseHwR9pVfqJEECgttFPSc7JmZIYRiN+Sj6R3Vdj+QkHEYN5Ofq8Iia8qQzZNgY3G8Ri8vS9OjYSXr5Cf5MXCkJ8oIQKXc9rh+WeeBk/fn0P3L7dJt3e44L49xbQA5mYXcOm0ifx1qhuY9y6SfWnJj4HeO6gquhEWw4ur31nQWDWARd8S+fkWHsGo/w0fPnd5NYGvknXos47T4PamYZQpu0n3LwVg0DpIAgGwpD6c/NzA9ABGb/6J3KxWmOuHyPdm/10WY4J0HuOn2kHSO5pH8G1aI3q7fmetAL4PTiKCABdxC86ntwRrIABbhzPYL8fdiWnql6ZUIUfahNRELQ6x/dWpesjOiQhbEMB5WUtoEg77BM4ea8aRnWX4el81bYuY8zEEAEPZchE6R/4iG09qY1uz6HvEVsKP+397yL6SwIFtGky6p2m1uI1/Bx13sPf/EAg/Bc6Re8wSgOm6sOQ1JX3Y/faPkO2vofZKAh+//gMVb8bBOnYa7HDdEiZgMd4KxYxKoCTfigvHW0iPRkDc5zNsGyQvFVJhcSwTANQKKy0991de+BmJrymRdeQ6ta3trlDMCAL86IjLxQuKQ8+KT+wXCeR9Y6bK9/v9tA393W6y97OEfPXEGL+2OTHzYI50P/Pn9tmHC0hLrgrFjCDA5TNJKU4cqqPvwe0a7HrrWqhv71Y12T54Nh+pO7Ssms2sqGronuB2LnHP5Adj6JESy+4INvPsLxsgZ6R54e5842pEvlUENlqeENh8AsqLFhSwd4AXyaVTJlw8YWSnoQU5x5pY8TTSy5h52IDjB+roFuNX9he7KnH0kwoqRF54++PV2MMKbvc7Knz65jU6/zteUSKBHdFtzxfQ3R/PCjdui4IVqZhcjlgmMeyMrBsCfuGh4o/RwvwivLM+OoYPZ7zssZrF1D3P+hJYC54QiEpgcnIS8/PCjwWHz+fD3By/Uv8bPT3CsxyOhoaGoBYdIQKjo6OUeGBgAJWVlWhtbUVvby8sFgs6OzthNpuhUChQUVGB+vp6lJeXU3C1Wg2tVguVSgWlUkljDQYD0tPTkZGRgbS0NOh0OmRlZSEvLw8OhwN2u/DocYQIcGNbWxvkcjmsVitmZmZQXV1NOk/idDpRXFyMkpISZGZmkh9PWltbSzonK5PJIJVKiQj/8oRJSUnIzs6GRCKhOAkJCfB6vcGsYQTcbjc8Hg+Gh4cxNTVFyz42NkYEBgcH0dfXR4n5inDdZDLRbIxGI3Jzc6HX6zE0NET9NpuNEpeWlpLOfTQaDbq6umhFwrHmIuRP6fi48M+4EtHsLpcrqC2DE+eTC8eaCawXNp8AR1DfcFByEUHbhkHIGhPzL55X8rj4ubC7AAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
572 var WIKIPEDIA_URL = "http://en.wikipedia.org/w/index.php?search=%s";
573 var WIKIPEDIA_LINK = "<a href=\""+ WIKIPEDIA_URL + "\" target=\"_blank\"><img title=\"Wikipedia is a free-access, free content Internet encyclopedia, supported and hosted by the non-profit Wikimedia Foundation. Anyone who can access the site can edit almost any of its articles. Wikipedia is the sixth-most popular website and constitutes the Internet's largest and most popular general reference work. As of February 2014, it has 18 billion page views and nearly 500 million unique visitors each month.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsSAAALEgHS3X78AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1MzmNZGAwAAABV0RVh0Q3JlYXRpb24gVGltZQAyNy8zLzA56KykjAAABBF0RVh0WE1MOmNvbS5hZG9iZS54bXAAPD94cGFja2V0IGJlZ2luPSIgICAiIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6MTE6NDEgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwOS0wMy0yN1QxNToyODozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wOS0wOFQyMzoxMzowMVo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgpRAV/wAAAapQTFRFAAAArKysxcXFxcXFpaWlpqamp6envb29wMDAwcDABAQEBwcHCwsLDw8PEhISFhYWGRkZGhoaHR0dISEhJSUlKCgoLCwsLy8vMTExMzMzNTU1NjY2PDw8QkJCQ0NDRUVFSUlJSkpKS0tLUFBQU1NTVlZWXl5eYGBgYmJiY2NjaGhobGxscXFxc3NzdnZ2eHh4hoaGiIiIiYmJjY2Nj4+PkZGRlZWVnJyco6OjpKSkpaWkpaWlpqamp6enqKioqampqqqqq6urrKysrq6ur6+vsLCwsrKytLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vr6+v7+/wMDAw8PDxMTExsbGx8fHy8vLzMzMzs7Oz8/P0dHR0tLS1NTU1tbW19fX2tra29va29vb3Nzb3Nzc3d3d3t7d3t7e397f39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6urq6+vr7Ozs7e3t7e7t7u7u7+/v8PDw8fHx8vLx8vLy8/Py8/Pz9PT09fX09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/f39/v7+////F171MgAAAAp0Uk5TAJCQkfPz8/Pz83vstw0AAAK1SURBVBgZBcHNbtZVEMDh38w584JA1SCYAG0ENGK0fiTWAHVLjAsT9QJY6J15BW51oys3qGlCE4hgiJa2FAKC2Jb3/86ZGZ9HaLPPSyGVRKuURBMUkh88RL8+f8pSExEgFVJTUxOova3vu104TUa0oAERNDKiZbQSOZuz9sXbKaO0UocMEZEaqSklI6U4NuvRYjQqWuloo0WLRlURtKJ69aqM6AOBkAhEcqguehDATDo1YRmEERrmioNbBuZdJDvVPN0gvWXLljRvmQ7ZqjJ65iRTD0bP7KNHi2JiAqYOJr2QQXRk6kQIU0cAGD0Ys+hF1c/bANd/2gG++XEHzl37DuB6E2kX3zioj17ajqPfLj6cP4krJz+4Pfvq4+no/b765SJtS6VUnr75Th0+1GeXz9a9uvPvZ0ee1ntLl9ZfVJEa4SUvLve64bK/3h9sb5w54ekb09X9gZRoJZm5f64eiIucq43Hn8xT5O5bhykjM1SSGqXrzX+pYr09Or1Umreer45RWolGpYtkLdd2ZtbJWrjkuLvcU9JTUanMdK9P2+HvmXt79eiR5+3nVydxTx+hJUNDtXg996o2T6zmzRr3VlSrSpXSqjExZY61enJrb2ftct99/MeTd0fmkJGIjlKda4z58eXavnlq5b+VuvPn8qvzmEcs5pEqMU0tp0X6Wu3urr6YVuvvf9amnDKnTB1Kw9wBllbqtYvwyoqvHKcbYAYK5gbA4ny9/ww7OF8Xhgtm5kTrAebmmHPp2l9zNy5du39gjrkZRBfccHA42KQDB5sg4OCAKrgZZgaoGM0NOmY4Bh0w3HAsDMfCHAPHHKVpTUfw7mDewMxxAAxMbYT++nBpZmKAFQAGlAPokWMPfuu+W2deDmhEI2gBNIJGtGlrdwjSrow+OgM6o48e1UfPhM4Nr/8BUnnSnwJjWWsAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
574 var WIMP_URL = "http://play.wimpmusic.com/search/artists/%s";
575 var WIMP_LINK = "<a href=\""+ WIMP_URL + "\" target=\"_blank\"><img title=\"WiMP is a music streaming service. The service is available on mobiles, tablets, network players and computers. The service is made by the Norwegian company WiMP Music, which is owned by Swedish Aspiro AB, listed on the Nasdaq OMX stock exchange in Stockholm. Music in WiMP is streamed using the AAC+ file format in a bitrate of 96 kbit/s or the AAC file format in a bitrate of 320 kbit/s if the high quality streaming option is selected. WiMP also offers a HiFi-product with FLAC/ALAC.\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAATJSURBVFhHtVdrbBVFFF6NGprevTWBpIkhNT4TSMREghAKdxdtIdrex1ba1NDSUmoErVS0/CjBK8FSFcUSUUyIf4j4gn8YU5SXCIlJE0UNMZGWNEFra21BCrW0Xns8Zx47s3t3b2sTv+RkZs6c833nzs7O7DUAwJgpFhoLb7UMa5YYzgz/pYBEgVXimHa7Y1pHnaj9E1o/2h9OgX0R2zNo+xNmbG08f3GhSJkaUxWAv/CWlGltQeGeioIV4DXbN+Y+LGQM7YNkfuwBQROOXAXEo7HSbOEgUd30eRtSpr0DqW7mjAEIKyAVjaWzCaey4FhcjdNIeRNn9iGogFTUPsCTiTCsgCC/38fHb294FWXggKD3wl8Aiotfnk00vTH11fiJ2x+Bv0ZGqQBCWsgooFP0+C5XRGEmyYOK0I37d9WmubRCiZDjQAdr5xvzb6Pd6yXNZf4Cgu2rT77ksgpjTFACHaxNmlZLEEG2TU9YWl/3JS6rIWnGHk8YS00mjGPWpqLW795kXUguqzR/jH+e+2vvjEPm7wxXFfjmyNdszolYq5kw+oxkvmWHk+p+fZzLeFzDfRUwOTnJlQVaS5vYnGPGPlIFmLF2L0GY2ZAufx72bXoTOta/AhsfXOP6s4uzoWpOKYxcvsqVEZlMBurvTrF53G8DbgF4WnUqguB208P10HPuZ86k4eSHR6FydomI1Y3ybDh/5pyIBBi9eh2qC1e5MfGodS8rAKvp9SdSHy8Z1lbNKYGR4T85SwB6f+wWuTJf9lfAZ/sOiyiAG6NjUFNU5sYlo8tXyQJG/YkyiNrtyRbOgPjh1Lew7bFm2L1uh37A4Ep0Bua+27RLRHBsWPCkO4/HfZVWgJ7oLWb/i3tY8sSNcVzuR13/sw/VenY5HToqj3NsXdkkZjk2Fze6c06BVckLwPtcJerGA2UBg5cGXJ+0dPlmNkeYGJ+ASnxcKsZme0fHFutpN9fB21ZswhhuQiWo+nzcsb6NJV+/co3tBxXD404c7GTzhK7Pz7p+av2P4LlFdWJe34Sm1SadurBsXypr5tkI9QyV0YWjb9LvjnfBG3Xb4b3m3WznS9AKVReuxBz20dLvvobxyLJiIqq/JwWN81azAL2QxnmVnAFBG5ALyyK5teDSTgW6F2Q8fmUddAugc5muYXpn+3p+gdOfHsMgXcCG4f4hRtJevVXze21nVSuLCcJQ36A4hDgvewVlAQQnz5q7Zm4Z7uwauHZlhF0inJivBBVGeDn5gkuiTI2bF6+DUx9/AQO9v8HlgWG4+P0FOPLOISBuGetErV+ZKEEWkMhbegc+l38kEYHeeaqall2ipqjcJZKxYYZCE7zvjU1ElseYKAE5RQ9vxMgySwbV3ZX0HDT0vu95qk2Q5BLPXRh+5PJLSAK5RY8Dr+VWlWDD3o2vwd5nXoeG+ytcn1ckaKy3yo8rcgElvB+n/gIIuCHfyibxE4ZZtjATN+3ulLlotpBQCCqAgCuxzUs0XeOCeiH4y8/iH5yIoPYirAACHZWYfF6R6a1XJGgeN/W4+GMSjlwFSOBR3YBEXcFi2YbCg/gYO8pnFRcJinBMpwAJ+nTDE2yn78/pEFovLTPa+/iptbbUWJAvUv4/0F/zJcaSPDGcIQzjX5mBSLYDDTZXAAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
576 var WIMPDE_URL = "http://wimp.de/wweb/search/%s";
577 var WIMPDE_LINK = "<a href=\""+ WIMPDE_URL + "\" target=\"_blank\"><img title=\"WiMP Germany\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABG5JREFUWEe1V39oVVUcv0VFY7tvQcIgxOgnKJSQVKL27rE2pba39+5yY+Hm1lyktVzW/GNir4fNVZYpSQb+J1kY/afIpN9qEAxKCgnChWCMmWnmdE3Xa9++3/M9555z77tvm8/6wJdzzvd8v5/v55537jn3OQDglIoFzoIbPce7WQ1Lw9UIqK/0qn1X9Puud8hPiJ/QRtB+9yvFL9geRdtd7yZXpcofrlIp02M6AfiEN2RcbwMWHmqoXAphE5Ex+1DIONoH6fLkfYqmOKYSkEokawoLxxW1zZ4XkHHFZqS6nhljUExAJpHMFhJOZ/GxuBqHkfI6Zo4gTkAmIfZwMhEWExDnj/p4/O6a17EM7FH0YUQFYHH15IVEMxtT34yfvOVR+Gt0jAQQsqqMATpVj3e5ISpmmjxOhG3s39qa5dIG1aocAx2ynefMu4l2b5h0KosKiLev933KZQ3GZUENdMg27Xo9cQSFNrPC2oZPnOKyFtJu8ol6Z5ErC+NYtpmE91s42S6kl1VbNCY6z/7W21OQ/zvPVRW+3X9EzvkV3gpZGH1OutwTxUltvz2eyjiu454GmJyc5MoKvTVdcs53kx8ZAW6yP0xQzARk616EXevehu2rX4O181cG/kJxAppm1cDoHxe4MiKfz0P7nRk5j/vtdCAAT6sBQxDfrnuoHYaO/cxMFr788BA03lqtYm2jPAHHjx5TkQBjFy5Bc9XyICaV8O6WAlDNyWgi9fGSkW3TrGoYPfcns8Tg5I8nVK7O1/2lcGDXJyoK4PLYOLTMqQ3i0olHlmsBY9FEHURtLt3DDIgfvvoONj3eDdue3mwfMLgSA7G573VtVRGMNfc/Fczjcd9kCbATw2J2v7xDJk9cvoLL/Vjgf/6B1tAup0PH5DHHxmVdapaxfnFnMOdXeo0sAO9zk2gbB2oBZ06dDnzasnXr5Rxh4soENOLPZWKE3Ds2NnjPBrk+3rZqEyZxE5qCps/j7av7ZPKl8xflfjAxHPfF3gE5Txg8+E3gpzb6E7zwYJuatzeh6/Vpp11Yt6/UdnM2wvyGxujCsTfp958PwlttOXi/e5vc+Rq0Qs1VyzBHfrSMBK9hqmLJYiJqvysDnXNXyABbSOfcRmZA0AbkwlokWw8u7XSge0HH41fW3kAAnct0DdM7Ozz0Kxz++DMMsgsIODdyVpL0N2+0/GHb0tQrY+JwdviMOoSYV76CWgDBL/Nmr5xdizu7BS6eH5WXCBPzSpAwwqvplwISMqK4JtMC6ssW3Ya/yz+amEDvPKmmZddomVOnirOIgKhUQ05sGZmKJZ4W0HZHOnTQ0Pu+45m+UPH/XAABr+VeTU6Fdq59A3Y+9yZ03NsQ+GwBAklyJRrlFggg4IZ8xxQzYkzfGBEhQ0lGudjDbgxwJTbFFYza/yaAQEeln/COm6e3W7acQIpcaUa52CsuQAOP6g78Zhi0n1yLyREZ01y1Ua7szRT06YYn2Bb7z+k1CygV9Nd8obOwTOAyElEpJoQD/wKRh8zJ2SeiOwAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
578 var WIMPDK_URL = "http://wimp.dk/wweb/search/%s";
579 var WIMPDK_LINK = "<a href=\""+ WIMPDK_URL + "\" target=\"_blank\"><img title=\"WiMP Denmark\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABGBJREFUWEe9V39oVVUcv0mGY7tvgcIgxFArUMhAyUTt3WttSm1v793lxsKtrblQczq1+cdEXw+bqyxTkgz8T7Io/M+QSb/NQBiUFBKIE0EZM3+kTtd0vvbt+z3fc+459777NputD3w453zP98fnnXvuOfdZAGCNFfOseRMdy5kkh2PDvxFQWeyUerbb6dnOUS/m/o7sQ172it2z2B5H7q+0468kCp8pkSGjYzQB+AsfTNnOZizcU1W8BIJ0Q2O2oZBB5CfJwviTMk1+jCQgEYuX5RaOKmrSnHchZbvbMdUEzhiBfAJSsXg6N+FojPbF1TiGKR/gzCFECUjF3AMcTAnzCYiyh208/nD121gGDsj0QYQFYHH5y3MT3duY+nr80sPPwV/9AySAkJZlNNAoe7zLdaJ8VMmjRJhk+876NJfWKJXlGGgQ7Wxr9kO0e4NJR2JYQDR/+PwrLqsxKAoqoEG0Sdtpi0qQy3srrNh75jyXNZC04y9WWgttURjHok3FnD+CwWYhtayKYZ/wPNvrH01A9m6Wq0qcOPyjmPOKnOWiMNqsZKHj5k9q2s3xSGS/pserYHh4mCtLtJe1iDnPjn+mBdjxzmCCfHQhXbEB9q1/H3avfAvWPLXCt+eKc6FmShn0/3mDKyOy2Sw0zkiJedxvF30BeFp16QTR7fr5jdBz8jRnMvDdp0ehenKp9DVJcS6cOn5SegIM3LgFtSXLfJ9EzHlMCEA158KB1MdLRrQ1U0qh/+p1zhKBc7+dkbEqXvWXwJf7DkkvgNsDg1A3rdz3S8aeXaYEDIQDlRO1mWQbZ0D8+v3PsPWFVtj16nbzgMGV6IqM/ahlp/RgrJ7zsj+Px32NIcAMDIrZ/8YeETx0+w4u9/O+fe3c+sAup0NHx3GOLUtb5Cxj46Jmf84rdqpZAN7nOtAkOyoBl85f9G2K6YqNYo4wdGcIqvFxaR9X7B0Tm51VfqyHt63chHHchLqg7vN498oOEXzr2k2xH7QP+317sEvME7qP/OTbqQ0/gnVPN8h5cxPaTocymoVVu628laMR+hlq0oVjbtJfvumG9xoy8HHrLrHzFWiFakuWYoz4aOnzX8NE0eJFlKhxZgqaZy0XDqaQ5lnVnAFBG5ALK5HMNlza0UD3gvLHr6yDvgA6l+kapne2t+cCHPvia3QyC7hwte+KSNJZu8WwB7mjpl34ROFK7yV5CHFe8QoqAQSvwJm6Ymo57uw6uHmtX1winJhXgoQR3kxu8pMQXUyRCTOTYUbNGaRYX0BlwcJH8Ln8rRIT6J0n1bTsCnXTKmRxFkGJMEOQClFzBikWe9iVSBUtdpSAhunJwEFD7/ue1zoCxf9zAQS8lttVciq0d807sPf1d6HpiSrfNq4CCLghP9DFtBjd16RnPVZQbKQAAq7E1qiCYY6bAAIdlV7MOaV/vdkyx+URhIFHdRN+M3Sbv1yJ+V8EKNCnG55gO8w/p/ctYKygv+YLrAUF93cQWfAPN5gkevaXtIYAAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
580 var WIMPNO_URL = "http://wimp.no/wweb/search/%s";
581 var WIMPNO_LINK = "<a href=\""+ WIMPNO_URL + "\" target=\"_blank\"><img title=\"WiMP Norway\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABIRJREFUWEe1V39oVVUcv0VFY7tvQcIgxOgnKJSQVKL27rE2pba39+5yY+Hm1lyktVzW/GNir4fNVZYpSQb+lWRS+J8Sk35NUwgGJYUE4UIwxsw0c7qm67Vv3+/5nnPPuffdt9nUD/twzvme74/PO/fcc+4cAHCmi3nOvJs9x7tVDaeH/yOgttyr9F3R67veAT8hfkYOI//wy8Wv2B5G7qx1kytSpY9WqJCpMZUA/IU3ZVxvHRYerCtfDGGKyJhtKGQM+XG6NPmASlMckwlIJZJVhYXjitq05wVkXLERU93IGWNQTEAmkcwWJpyK8b64Gocw5Q2cOYI4AZmE2MXBlLCYgDh71Mbj91e9iWVgl0ofRlQAFle/vDDRlY2pb8ZP3/Y4/D0ySgIIWVXGAI2qx7vcJCpGnTxOhE22b27OcmmDSlWOgQbZznHm3EK7N5x0MkYFxPPgp19wWYMxWVADDbJNu15XXIJCXllhzaHjJ7mshbSbfKrWWeDKwjiWbSbh/R4OtgvpZdWM+kTn2d58Zwry/+S5qsJ3+76Vc36Zt0wWRpuTLvVE8aS23R5PRvZru68OJiYmuLJCd1WHnPPd5B4jwE32hhMUo4BszcuwY827sHXlG7B67vLAXihOQMOMKhj58zxXRuTzeWi9OyPncb+dCgTgadVnEsS3ax5phcGjv3AmC998cgDqb69UvjYpTsCxw0eVJ8Do+YvQWLE08EklvHulAFRzIhpIfbxkZNswoxJGzv7FWWJw4qfjKlbH6/5i2L9jr/ICuDQ6Bk2zqgO/dOKxpVrAaDRQO1GbS3dxBsSP/d/Dhic7YcuzG+0DBleiLzb2g47NyoOx6sFngnk87hssAXZgWMzOV7fJ4PFLl3G5nwjsLz7UHNrldOiYOM6xfkmHmmWsXdgezPnlXj0LwPvcBNpkRy3g9MlTgU0zW7NWzhHGL49DPT4u4yPk3rGxzns+iPXxtlWbMImb0BQ0fR5vXdkjgy+euyD3g/Fhv69398l5wsDnRwI7tdFH8NLDLWre3oSu16ONdmHdvlbdydEI8wwN6cKxN+kPXw3AOy05+LBzi9z5GrRCjRVLMEZ+tAwHr2GqbNFCStR6TwbaZy+TDraQ9tn1nAFBG5ALa5HMLlzaqUD3gvbHr6zdgQA6l+kapnd2aPA3OPTZl+hkFxBwdviMTNLbuN6yh7mpoVv6xOHM0Gl1CHFe+QpqAQS/xJu5fGY17uwmuHBuRF4inJhXgoQRXk+/EiQhCkyRsykECNEqSf3QXIQUGwioLVlwBz6Xf3ViAr3zpJqWXaNpVo0qziIoEWYwzOXw76Ak9UNzEVIs9rCrkClb5GkBLXelQwcNve/bnusJFb/mAgh4LXfr5FRo++q3YPsLb0Pb/XWBLSQAl1kW0uzvl8WlAOyH5iKk2AIBBNyQ75liRozpG8pnrQpqCvGRZNQeJcXGCiDgSmyIKxjldRNAoKPST3jHzK+3W+Z1eQRR4FHdht8MA/Yv12Ku+SacDPTphifYJvuf06sWMF3Qv+bznfklV3cQOfAfCHIRauLXuY0AAAAASUVORK5CYII=\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
582 var WIMPPL_URL = "http://wimp.pl/wweb/search/%s";
583 var WIMPPL_LINK = "<a href=\""+ WIMPPL_URL + "\" target=\"_blank\"><img title=\"WiMP Poland\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABFtJREFUWEe9V39oVVUcv0VFY7tvQcIgxOgnKJSQVKL27rE2pba39+5yY+Hm1lyktVzW/GNir4fNVZYpSQb+J1kY/afIpN9qEAxKCgnChWCMmWnmdE3Xa9++3/M9555z77tvs1frA1/OOd/z/X6+n3veuefc5wCAUyoWOAuu9xzvRjUsDf9EQH2lV+27ot93vUN+QvyANoL2q18pfsL2KNrueje5KlX+YJVKmR7TCcAnvC7jehuw8FBD5VIIm4iM2YdCxtHeS5cn71E0xTGVgFQiWVNYOK6obfa8gIwrNiPVtcwYg2ICMolktpBwOouPxdU4jJTXMHMEcQIyCbGHk4mwmIA4f9TH47fXvIplYI+iDyMqAIurJy8kurox9c348Zsehj9Gx0gAIavKGKBT9XiXG6JipsnjRNjG/q2tWS5tUK3KMdAh23nOvBto94ZJp7KogHj7ct/HXNZgXBbUQIds067XE0dQaFdXWNvwiVNc1kLaTT5W7yxyZWEcyzaT8H4JJ9uF9LJqi8ZE59nfemsK8n/muarC1/uPyDm/wlshC6PPSZd7ojip7bfHUxnHddzVAJOTk1xZobemS875bvIDI8BN9ocJipmAbN3zsGvdm7B99Suwdv7KwF8oTkDTrBoY/e0CV0bk83lovz0j53G/nQ4E4Gk1YAji23UPtMPQsR+ZycLn7x+CxpurVaxtlCfg+NFjKhJg7MIlaK5aHsSkEt6dUgCqORlNpD5eMrJtmlUNo+d+Z5YYnPz+hMrV+bq/FA7s+khFAVweG4eWObVBXDrx0HItYCyaqIOozaV7mAHx3RffwKZHu2Hbk5vtAwZXYiA2952urSqCsebeJ4J5PO6bLAF2YljM7hd3yOSJy1dwuR8J/M/e1xra5XTomDzm2LisS80y1i/uDOb8Sq+RBeB9bhJt40At4Myp04FPW7ZuvZwjTFyZgEb8uUyMkHvHxgbv6SDXx9tWbcIkbkJT0PR5vH11n0y+dP6i3A8mhuM+2zsg5wmDB78K/NRGf4Ln7m9T8/YmdL0+7bQL6/al2m7ORpjf0BhdOPYm/fbTQXijLQfvdm+TO1+DVqi5ahnmyI+WkeA1TFUsWUxE7XdkoHPuChlgC+mc28gMCNqAXFiLZOvBpZ0OdC/oePzK2hsIoHOZrmF6Z4eHfobDH36CQXYBAedGzkqS/uaNlj9sW5p6ZUwczg6fUYcQ88pXUAsg+GXe7JWza3Fnt8DF86PyEmFiXgkSRng5/UJAQiaEgFwuV5JRbiCgvmzRLfi7/KWJCfTOk2pado2WOXWqOIsgolJBuYEAQqZiiacFtN2WDh009L7veKovVPw/F0DAa7lXk1OhnWtfg53PvA4ddzcEvhkVQMAN+ZYpZsSYvrEZEUDAldgUVzBqOdrHJRrlYg+7RUBHpZ/wjpunt1u2GRWggUd1B34zDNpPrsX8LwI06NMNT7At9p/Tfy2gVNBf84XOwjKhiEox4TjwNyjuU1q7dTYKAAAAAElFTkSuQmCC\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
584 var WIMPSE_URL = "http://wimpmusic.se/wweb/search/%s";
585 var WIMPSE_LINK = "<a href=\""+ WIMPSE_URL + "\" target=\"_blank\"><img title=\"WiMP Sweden\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABHRJREFUWEe9V31oVlUYv0VFY7vvgoRRiJF9DIUSlErU3nutTcnt/bjLjYlbW9tCreUy5x8TfRs2V2mmJFlI/4gWSv8VMilLzSAYlBQShAvBGDPTzOmazrc9Pc95zrnn3Pved7PZ+sGPc85zno/fe+6559zXAgBrophjzbndsZw75XBi+DcCksVOmWe73Z7tHPJi7k/IAeTvXrH7C7bHkbuTdvy5ROETJTJkfIwnAH/hbWnbWYeF+6qKF0KQbmjMNhQyjNybKow/ItPkx1gCErF4eW7hqKImzXkX0ra7CVPdyhkjkE9AOhbP5CYcj9G+uBrHMOUtnDmEKAHpmLuHgylhPgFR9rCNx++ufAPLwB6ZPoiwACwuf3luohsbU1+Pn73rKfhrcIgEEDKyjAYaZY93uU6Ujyp5lAiTbN9Sn+HSGmWyHAMNop1pzbyDdm8w6VgMC4jm0f2fc1mNYVFQAQ2iTdlOe1SCXN5YYcX+U2e4rIGUHV+StObZojCORZuOOb8Fg81CalkVwz7hebbX35eA7PUsV5X49tOvxZxX5CwVhdFmpQodN39S026OxyL7NT1UBaOjo1xZoqO8Vcx5dvxjLcCOdwcT5KMLmcpXYNfqt2F78+uwatZy354rzoWaKeUw+MclrozIZrPQOD0t5nG/nfUF4GnVoxNEt6sfb4S+Ez9zJgNffXQIqu8uk74mKc6Fk8dPSE+AoUtXoLZkse+TiDkPCgGo5nQ4kPp4yYi2ZkoZDF74k7NE4PSPp2Ssilf9hfDZrk+kF8DVoWGom1bh+6ViTy5WAobCgcqJ2s5UO2dA/HDkO9jwTBtse36TecDgSvRExr7XukV6MFY+usyfx+O+xhBgBgbF7F67QwSPXL2Gy/20b39pdn1gl9Oho+M4x/pFrXKWsWZ+iz/nFTvVLADvcx1okh2VgHNnzvo2xUzlGjFHGLk2AtX4uLSPK/aOiXXOCj/Ww9tWbsI4bkJdUPd5vL25SwRfuXhZ7Aftw35f7usR84Teg9/4dmrDj+DlxxrkvLkJbadLGc3Cqt1Y0cbRCP0MNenCMTfp94d7YWtDJ7zftk3sfAVaodqSRRgjPloG/NcwUbRgPiVqfCANLTOWCgdTSMuMas6AoA3IhZVIZjsu7Xige0H541fWPl8Anct0DdM729/3Kxw78AU6mQVcuDBwXiTprl1v2IPcXNMhfKJwvv+cPIQ4r3gFlQCCV+BMXT61And2HVy+OCguEU7MK0HCCK+lXvWTEK17SsGanQzQrSyFzhWWaMNzAVKsEpAsmHcvPpe/VWICvfOkmpZdoW5apSzOIkSi5g8D7PwgiRvBEm14LkCKxZxCACFdtMBRAhruTwUOGnrfd7zQFSj+nwsg4LXcoZJToZ2r3oSdL74FTQ9X+bZJFUDADfmOLqbF6L4mPWsqNhFSLPZyBRBwJTZEFQxz0gQQ6Kj0Ys5J/evNljkpjyAMPKqb8Juh1/zlSsz/IkCBPt3wBNts/jm9aQETBf01n2vNLbi5g6gU/gHezvAhPv9ZKAAAAABJRU5ErkJggg==\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
586 var YOUTUBE_URL = "https://www.youtube.com/results?search_query=%s";
587 var YOUTUBE_LINK = "<a href=\""+ YOUTUBE_URL + "\" target=\"_blank\"><img title=\"YouTube is a video-sharing website headquartered in San Bruno, California. The service was created by three former PayPal employees in February 2005 and has been owned by Google since late 2006. The site allows users to upload, view, and share videos, and it makes use of Adobe Flash Video and HTML5 technology to display a wide variety of user-generated and corporate media video. Available content includes video clips, TV clips, music videos, and other content such as video blogging, short original videos, and educational videos. Most of the content on YouTube has been uploaded by individuals, but media corporations including CBS, the BBC, Vevo, Hulu, and other organizations offer some of their material via YouTube, as part of the YouTube partnership program. Unregistered users can watch videos, and registered users can upload an unlimited number of videos. Videos considered to contain potentially offensive content are available only to registered users affirming themselves to be at least 18 years old. YouTube, LLC was bought by Google for US$1.65 billion in November 2006 and now operates as a Google subsidiary.\" src=\"data:image/png;base64,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\" style=\"border-width: 0px; " + ALL_PADDING + ";\" height=" + ICON_SIZE + " width=" + ICON_SIZE + "></a>";
588
589 // base64 encoded pics
590 var TOGGLE_IMG_PLUS = "data:image/gif;base64,R0lGODlhCQAJAIAAAOLn7UtjfCwAAAAACQAJAAACEYyPoAu28aCSDSJLc44s3lMAADs%3D";
591 var TOGGLE_IMG_MINUS = "data:image/gif;base64,R0lGODlhCQAJAIAAAOLn7UtjfCwAAAAACQAJAAACEIyPoAvG614L80x5ZXyohwIAOw%3D%3D";
592 var SPINNER_IMG = "data:image/gif;base64,R0lGODlhEAAQAPMAAP%2F%2F%2FwAAAAAAAIKCgnJycqioqLy8vM7Ozt7e3pSUlOjo6GhoaAAAAAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAEAAQAAAEKxDISau9OE%2FBu%2F%2FcQBTGgWDhWJ5XSpqoIL6s5a7xjLeyCvOgIEdDLBqPlAgAIfkECQoAAAAsAAAAABAAEAAABCsQyEmrvThPwbv%2FXJEMxIFg4VieV0qaqCC%2BrOWu8Yy3sgrzoCBHQywaj5QIACH5BAkKAAAALAAAAAAQABAAAAQrEMhJq704T8G7%2F9xhFMlAYOFYnldKmqggvqzlrvGMt7IK86AgR0MsGo%2BUCAAh%2BQQJCgAAACwAAAAAEAAQAAAEMRDISau9OE%2FBu%2F%2BcghxGkQyEFY7lmVYraaKqIMpufbc0bLOzFyXGE25AyI5myWw6KREAIfkECQoAAAAsAAAAABAAEAAABDYQyEmrvThPwbv%2FnKQgh1EkA0GFwFie6SqIpImq29zWMC6xLlssR3vdZEWhDwBqejTQqHRKiQAAIfkECQoAAAAsAAAAABAAEAAABDYQyEmrvThPwbv%2FHKUgh1EkAyGF01ie6SqIpImqACu5dpzPrRoMpwPwhjLa6yYDOYuaqHRKjQAAIfkECQoAAAAsAAAAABAAEAAABDEQyEmrvThPwbv%2FnKUgh1EkAxFWY3mmK9WaqCqIJA3fbP7aOFctNpn9QEiPZslsOikRACH5BAkKAAAALAAAAAAQABAAAAQrEMhJq704T8G7%2FxymIIexEOE1lmdqrSYqiGTsVnA7q7VOszKQ8KYpGo%2FICAAh%2BQQJCgAAACwAAAAAEAAQAAAEJhDISau9OE%2FBu%2F%2BcthBDEmZjeWKpKYikC6svGq9XC%2B6e5v%2FAICUCACH5BAkKAAAALAAAAAAQABAAAAQrEMhJq704T8G7%2Fxy2EENSGOE1lmdqrSYqiGTsVnA7q7VOszKQ8KYpGo%2FICAAh%2BQQJCgAAACwAAAAAEAAQAAAEMRDISau9OE%2FBu%2F%2BctRBDUhgHElZjeaYr1ZqoKogkDd9s%2Fto4Vy02mf1ASI9myWw6KREAIfkECQoAAAAsAAAAABAAEAAABDYQyEmrvThPwbv%2FHLUQQ1IYByKF01ie6SqIpImqACu5dpzPrRoMpwPwhjLa6yYDOYuaqHRKjQAAIfkECQoAAAAsAAAAABAAEAAABDYQyEmrvThPwbv%2FnLQQQ1IYB0KFwFie6SqIpImq29zWMC6xLlssR3vdZEWhDwBqejTQqHRKiQAAIfkECQoAAAAsAAAAABAAEAAABDEQyEmrvThPwbv%2F3EIMSWEciBWO5ZlWK2miqiDKbn23NGyzsxclxhNuQMiOZslsOikRADsAAAAAAAAAAAA%3D";
593
594 var SEARCH_IMG = "data:image/gif;base64,R0lGODlhDgAOANUAAPr6%2Bri4uPLy8vz8%2FMbGxtjY2Pf3997e3vv7%2B9bW1rq6utPT07u7u7S0tLKystzc3NDQ0MPDw7CwsO%2Fv783NzczMzNTU1PT09NXV1ezs7LW1tc%2FPz7Ozs%2FPz86mpqevr6%2Fb29v39%2Fbm5uf7%2B%2Fqampv%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAOAA4AAAZvwJJwSCwOB6GRcmm0MDwMzMVYIpCuV0KnuCCJEp9EgLQoikgFA8BQ8I6IHlInVAp1SB768PwYPrwDRBAkCgcABwokFHpCGRFYWA4gRAgfGwEeARUOJA2TQiMIIAITAh0fDSQanyVvRAAfHBICVFRBADs%3D";
595
596 var EXPLORE_SIMILAR_IMG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAAAZiS0dEAP8A%2FwD%2FoL2nkwAAAAlwSFlzAAAASAAAAEgARslrPgAAAOFJREFUOMvVUqFuw1AMvE7VpHxAQHDA0Da4gf5DUL4kLN%2FzWFDQAwNT2camRQMJHA0NsC9O3lCrri3oFtSTLFuWfD75vAohYAluFk1fH0FZli9FUdz%2Bm0BVNyLyddhbhRDgnAsAYGYwM5AESagqVBUiAlVFHMcgia7rPp1zjwCw3jGlaYp5njFN068ws5M8DMNDlmXvdV0%2FrQ837wiOh47rcRxBctwrMDM0TXNWtohARBBFEZIkQd%2F3aNv2w3u%2F2d%2FgEuR5%2FkzyleS39%2F7uzy5UVfVGcmtm9ycuLMGVvfI5%2FADcE8BIG7ekhwAAACJ6VFh0U29mdHdhcmUAAHjac0zJT0pV8MxNTE8NSk1MqQQAL5wF1K4MqU0AAAAASUVORK5CYII%3D";
597 // Array(match_re, replace_string)
598 var ARTIST_RE = new Array(/http:\/\/oink\.me\.uk\/search\.php\?artist=(.*)/, '$1');
599 var ARTIST_BIO_RE = new Array(/\/music\/(.*)\/\+wiki/, 'http://www.last.fm/music/$1/+wiki');
600 var LASTFM_LINK_RE = new Array(/\/music\/(.*)/, 'http://www.last.fm/music/$1');
601 var artist;
602
603 var FLASH_CONTAINER_URL = "http://www.naptoon.com/oinkplus/c.swf";
604
605 var FLASH_CONTAINER = "<object type=\"application/x-shockwave-flash\" data=\"" + FLASH_CONTAINER_URL + "?path=%MOVIE\" width=\"%WIDTH\" height=\"%HEIGHT\" ><param name=\"movie\" value=\"" + FLASH_CONTAINER_URL + "?path=%MOVIE\" quality=\"high\" allowscriptaccess=\"always\"/></object>";
606
607 //var cache = new Cache(CACHE_SIZE);
608
609 var date = new Date();
610 installTime = GM_getValue('installTime', 0);
611 if (installTime == 0){
612 installTime = date.getTime() + "";
613 GM_setValue('installTime',installTime);
614 }
615
616var site_functions =({
617passtheheadphones: {
618 name: "passtheheadphones.me",
619 url: { 0:"passtheheadphones.me/torrents.php\\?id=",
620 1:"passtheheadphones.me/artist.php\\?id="
621 },
622 searchurl: "https://passtheheadphones.me/artist.php?artistname=%s",
623 css: ".artistHeadline {font-size: 10pt;text-align:left;} \
624 font-size: 10pt !important;}",
625 version:"1",
626 isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
627 for (var i = 0; i < tds.length; i++){ \
628 if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
629 typeFieldContent = tds[i].nextSibling.textContent; \
630 if (typeFieldContent.match(new RegExp(\"(Apps|Comics|E-books|E-learning videos)\"))) \
631 return false; \
632 break; \
633 } \
634 } \
635 return true",
636 hook: "var divs = document.getElementsByTagName(\"div\");\
637 var centertable; \
638 for (var i = 0; i < divs.length; i++){ \
639 if (divs[i].className == \"box torrent_description\" || (divs[i].className == \"box\" && divs[i].id == \"artist_information\")) {\
640 centertable = divs[i]; \
641 break; \
642 } \
643 } \
644 hook = centertable.firstChild.nextSibling.nextSibling.nextSibling;\
645 myDiv = document.createElement(\"div\"); \
646 myDiv.className = 'box'; \
647 myHeadline = document.createElement(\"div\");\
648 toggleDiv = document.createElement(\"div\"); \
649 toggleDiv.id = \"toggleOiNKPlus\"; \
650 myHeadline.appendChild(toggleDiv);\
651 myHeadline.appendChild(document.createTextNode(' '));\
652 myBoldText = document.createElement('b'); \
653 myBoldText.textContent = 'OiNKPlus'; \
654 myHeadline.appendChild(myBoldText);\
655 myHeadline.className='head'; \
656 myDiv.appendChild(myHeadline);\
657 myNode = document.createElement(\"div\"); \
658 myNode.className = 'OiNK'; \
659 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
660 myDiv.appendChild(myNode); \
661 hook.parentNode.insertBefore(myDiv, hook.nextSibling); \
662 seperator = document.createElement(\"div\"); \
663 seperator.setAttribute('style','clear: both');\
664 hook.parentNode.insertBefore(seperator, myDiv.nextSibling);",
665 findArtist: "var h2s = document.getElementsByTagName(\"h2\"); \
666 if (h2s.length > 0) {\
667 var str = h2s[0].textContent;\
668 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
669 if (str.split(' (').length > 1) { \
670 return str.split(' (')[0].replace(/^\\s+|\\s+$/g,\"\"); \
671 } \
672 if (str.split(' - ').length > 1) { \
673 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
674 } \
675 else return str.replace(/^\\s+|\\s+$/g,\"\"); \
676 } \
677 return '';",
678 morelink: "/torrents.php?artistname=%s",
679 icon: "data:image/png;base64,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"
680 },
681wafflesfm: {
682 name: "Waffles.fm",
683 url: { 0: "waffles.fm/details.php"
684 },
685 searchurl: "https://waffles.fm/browse.php?artist=%s&s=year&d=desc",
686 css: "",
687 version:"1",
688 isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
689 for (var i = 0; i < tds.length; i++){ \
690 if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
691 typeFieldContent = tds[i].nextSibling.textContent; \
692 if (typeFieldContent.match(new RegExp(\"(Apps|Components|eBook)\"))) \
693 return false; \
694 break; \
695 } \
696 } \
697 return true",
698 hook: "var tds = document.getElementsByTagName(\"td\");\
699 var centertable; \
700 for (var i = 0; i < tds.length; i++){ \
701 if (tds[i].className == \"rowhead\") {\
702 centertable = tds[i].parentNode.parentNode; \
703 break; \
704 } \
705 } \
706 var new_row = centertable.lastChild.previousSibling.cloneNode(true); \
707 toggleDiv = document.createElement(\"div\"); \
708 toggleDiv.id = \"toggleOiNKPlus\"; \
709 if (new_row.firstChild.hasChildNodes()){ \
710 new_row.firstChild.innerHTML = '';\
711 } \
712 new_row.firstChild.appendChild(toggleDiv);\
713 new_row.firstChild.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
714 new_row.firstChild.nextSibling.innerHTML = '<div id=\"OiNKPlus\"></div>';\
715 var parent = centertable.lastChild.previousSibling.parentNode; \
716 parent.appendChild(new_row);",
717 findArtist: "var h1s = document.getElementsByTagName(\"h1\"); \
718 if (h1s.length > 0) { \
719 var str = h1s[0].innerHTML; \
720 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
721 if (str.split(' - ').length > 1) { \
722 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
723 } \
724 } \
725 return '';",
726 morelink: "/browse.php?q=%2Bartist%3A%22%s%22",
727 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4zjOaXUAAAALZJREFUWEfNk8ENgDAMA/PhxYON2YIdWIQH67AASFBTKIEWVFJXuo9lOVaUCl7fNrMlbqx/mulP3Fg/eBrrE1Y6X4Ghq1asdJ4CpeApgBWB3SByIrs/angb+NYfGi5H4oJCPZs/arAqUAqeAlgRsNL5CqQeTy6dp8Ad+FZf0TKP8BTAikCoa+FP3OWEOl+B2PFow46k5kDnKVAKngJYEbDS+QqkHk8uvXwBPAhWuLH+aaY/2aaKLGf12hn2gF8pAAAAAElFTkSuQmCC"
728 },
729indietorrents: {
730 name: "indietorrents",
731 url: { 0:"indietorrents.com/torrents.php\\?id=",
732 1:"indietorrents.com/artist.php\\?id="
733 },
734 searchurl: "https://indietorrents.com/artist.php?artistname=%s",
735 css: ".artistHeadline {font-size: 10pt;text-align:left;} \
736 font-size: 10pt !important;}",
737 version:"1",
738 isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
739 for (var i = 0; i < tds.length; i++){ \
740 if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
741 typeFieldContent = tds[i].nextSibling.textContent; \
742 if (typeFieldContent.match(new RegExp(\"(Apps|Comics|E-books|E-learning videos)\"))) \
743 return false; \
744 break; \
745 } \
746 } \
747 return true",
748 hook: "var divs = document.getElementsByTagName(\"div\");\
749 var centertable; \
750 for (var i = 0; i < divs.length; i++){ \
751 if (divs[i].className == \"main_column\") {\
752 centertable = divs[i]; \
753 break; \
754 } \
755 } \
756 hook = centertable.firstChild.nextSibling.nextSibling.nextSibling;\
757 myDiv = document.createElement(\"div\"); \
758 myDiv.className = 'box'; \
759 myHeadline = document.createElement(\"div\");\
760 toggleDiv = document.createElement(\"div\"); \
761 toggleDiv.id = \"toggleOiNKPlus\"; \
762 myHeadline.appendChild(toggleDiv);\
763 myHeadline.appendChild(document.createTextNode(' '));\
764 myBoldText = document.createElement('b'); \
765 myBoldText.textContent = 'OiNKPlus'; \
766 myHeadline.appendChild(myBoldText);\
767 myHeadline.className='head'; \
768 myDiv.appendChild(myHeadline);\
769 myNode = document.createElement(\"div\"); \
770 myNode.className = 'OiNK'; \
771 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
772 myDiv.appendChild(myNode); \
773 hook.parentNode.insertBefore(myDiv, hook.nextSibling); \
774 seperator = document.createElement(\"div\"); \
775 seperator.setAttribute('style','clear: both');\
776 hook.parentNode.insertBefore(seperator, myDiv.nextSibling);",
777 findArtist: "var h2s = document.getElementsByTagName(\"h2\"); \
778 if (h2s.length > 0) { \
779 var str = h2s[1].textContent; \
780 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
781 if (str.split(' - ').length > 1) { \
782 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
783 } \
784 else return str.replace(/^\\s+|\\s+$/g,\"\"); \
785 } \
786 return '';",
787 morelink: "/artist.php?artistname=%s",
788 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAVzSURBVFhHvVdrTJNnFGaOARHkUiiU6+SyhoswNNDWcrWC3DLGuEgpTCqXVopFkDgyxmUEKIRb0QFhgDIoIrABlnGTX8t+jGy/t59LliVLpi6Z88dM1Hh23pevDMpbYt3ikzw/vq895znfey7f+WxeB8LDwwO8vLyGjx07dl8gECRxt18P3N3dixMTEx/n5eU99/b2fp+7/eoQiUTOPj4+cnt7+04XFxeDnZ2dwcPDw4BCA87OzpdCQkIkra2ttvjUArz+UqVSgVarBfy9g3PxSnjD09Pz7NGjR5f8/f2fyOVy0Ol0MDU1Baurq7C8vAwzMzPQ29sLFRUVIJFI/sIAHxUXF9N7GOAP6OPIjisrkZqa6oj4RiwWQ39/P2xtbb0Up6enIT09Hfz8/ABP7D3OnfXAo1NgEEyRw0hOZnNzEwYGBiAoKOhbUoicS+vg5OSkr62tZYpYotFohFu3bsHk5CQsLCzA7du3ISIi4ndMxSnO7cvDwcFhaXBwkCnE4sbGBhUmAZhIrmdnZwEL+BEWrnVBYP5/WllZYYqxSIT2ipszLCzsIRZyBOf+cODxvYk18IQlxKLp6A8jqQlMxc/x8fFunIxlJCUl+YWGhjLFWDQYDExRc2o0GsDamuZkLANbKDIjI4MpZs61tTWmmCViUZLukHFSbGAA6WVlZUxBcy4uLjKFLLG5uRmwvr7jpNjA/Fc1NTUxBc05NzfHFLLE4eFhwMn6mJPaAeZb6Obmphbw+aUpKSkuOMs/1uv1TEFzvmz+TSTviN06wIu33NxcBvnRoc9PVMvhRI0CHPm8BzjPvyeOWYJ7ee/ePer05s2bB4QsUSgUQkBAQBwNwNXVuS+0LAfSV4d2Ke6pA547D9RqNVPUxMamTyBNfQHClR9AhKoATpbmQoY8Dzo7O5nChG1tbeT4t6k4FlqIQPLu873iJh5PEgHpAoVCQZ/SXFxTdwWk+msH7NK//gxOXr0AFysrmAFgewOfz/+QBoA5Hzyt/+igE2TMp1WQmZkJOTk5kJubC+vr67vinbpOELVrmXYmSrprQa2p2idOig/H8S8YhC0NgC8M/JFlTJi6qAepVApFRUU0kK6uLipOAonKz2DamDO6sgBGR0d3AygpKSHtd5mKE7wtE//NMqRcGwJR/E4A5BRMLdnT0wMiXQ3bxozJk+108pkCwI3pIQbhyMljAMmxD1iGhGkrN0AiPU0DwLaEkZGRndxXV0PqV/1MGxYzFQVUvLGxEXAx3b+a8QJ8jWnGG0xD6fUGKkwCiIuLowsGCaBSrYI043WmDYtZJYU0gISEhKeRkZF+nPQOyLoUoSlkGr6TLQOy/xUWFoJSqaTihORJzhh0TBtzyma6oLy8nK5zrq6uk5zsfrh4un8R27G/oqOvKclySVuGtOHenYBsOdFXS/f93xKjy/Jp6mQy2bPAwEAhJ3kAtq483rj/WfGL8EsF4Bt38hmO4W0ejzdGBopJeC/Pqy7CueVBpqiJUmzvclUl9PX1Afqa5bQsg7x+fX19M2NjY93JNdmIs7Ky/mAFcPfuMoiV+XTosMRj2jSQcz6f5h7r6GlwcHAIFbEWuL1UWFrH5+fn4ZxSDqcaKyHh8xZInuoAcdcViFZkg7ZGS8W7u7tJ7ic4d9YDv3KOYPRrY2NjVJTUQktLC/3gIIGR66GhIaivr4fLl6sB/7/vpRQTE/Pngcq3FmRw4JfRfENDA51qRISQ7HdkEyLviaWlJbp+m4QnJiYAU/gUZ34a5+a/Az8uVfhEv7W3tzNfTnfu3IHx8XGoq6sD/BD5FReaM5zp/wdsSwd8KiWu19tkSJEWJYMqOzv7Be799/G3deygqqioqH/HrUXY2PwDyPGwgaRfUr0AAAAASUVORK5CYII="
789 },
790jpopsuki: {
791 name: "JPopsuki 2.0",
792 url: { 0:"jpopsuki.eu/torrents.php\\?id=",
793 1:"jpopsuki.eu/artist.php\\?id="
794 },
795 searchurl: "https://jpopsuki.eu/artist.php?name=%s",
796 css: ".artistHeadline {font-size: 10pt;text-align:left;} \
797 font-size: 10pt !important;}",
798 version:"1",
799 isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
800 for (var i = 0; i < tds.length; i++){ \
801 if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
802 typeFieldContent = tds[i].nextSibling.textContent; \
803 if (typeFieldContent.match(new RegExp(\"(Apps|Comics|E-books|E-learning videos)\"))) \
804 return false; \
805 break; \
806 } \
807 } \
808 return true",
809 hook: "var divs = document.getElementsByTagName(\"div\");\
810 var centertable; \
811 for (var i = 0; i < divs.length; i++){ \
812 if (divs[i].className == \"main_column\") {\
813 centertable = divs[i]; \
814 break; \
815 } \
816 } \
817 hook = centertable.firstChild.nextSibling.nextSibling.nextSibling;\
818 myDiv = document.createElement(\"div\"); \
819 myDiv.className = 'box'; \
820 myHeadline = document.createElement(\"div\");\
821 toggleDiv = document.createElement(\"div\"); \
822 toggleDiv.id = \"toggleOiNKPlus\"; \
823 myHeadline.appendChild(toggleDiv);\
824 myHeadline.appendChild(document.createTextNode(' '));\
825 myBoldText = document.createElement('b'); \
826 myBoldText.textContent = 'OiNKPlus'; \
827 myHeadline.appendChild(myBoldText);\
828 myHeadline.className='head'; \
829 myDiv.appendChild(myHeadline);\
830 myNode = document.createElement(\"div\"); \
831 myNode.className = 'OiNK'; \
832 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
833 myDiv.appendChild(myNode); \
834 hook.parentNode.insertBefore(myDiv, hook.nextSibling); \
835 seperator = document.createElement(\"div\"); \
836 seperator.setAttribute('style','clear: both');\
837 hook.parentNode.insertBefore(seperator, myDiv.nextSibling);",
838 findArtist: "var h2s = document.getElementsByTagName(\"h2\"); \
839 if (h2s.length > 0) { \
840 var str = h2s[0].textContent; \
841 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
842 if (str.split(' - ').length > 1) { \
843 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
844 } \
845 else return str.replace(/^\\s+|\\s+$/g,\"\"); \
846 } \
847 return '';",
848 morelink: "/artist.php?name=%s",
849 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAh0SURBVFhH7VZpbFzVGSVO7KCoSYqAiBArjQBB06otqehioGoF5QeVCoqEoa0KTYOUP6hVqwqEVOyxnYTgbbzFMx7v29jj5yUJjid2HGey2J5988zYs8Vje8YmDqkJ2chWn577/KK0GUdtBVL/9JM+vbl33rvnfPu97//yVUtLOJ7+8xaPemOZVXqEKn53e+Ppyt9fjbw7NJ25ucKaub1rXHqtJyg9pXFkvs89lSmcvlVrjqcUWpFSZMWqQjNSiq14fL89/gej98uRUFni6T+qt6mf1LmRWmjBSgKkFNkIYMOKIgvBLFhX5sTKQjueqXGhamga1UNT+HGt2LPg+XrbqHLUveX9wfGMjMYx6etqq/Rso1MSa7H/qsGnTt9vJagF9xP0mRon3u4K4r2PI3j3UAS/6wziB7UerFVb8dh+G7pNs8gjid01bhhOJrChxIJNJSfQHb9yby+8ordmbii1YAUtWllIJdBDZXZsrXPHhcVris3Yrg+ixTSFtr4Iylr9yG8Yk7VC74f+4zCk43F0nZ5BcaMPqionVBoH2gen8GSFHRuKTkAf+1w2KEneORHL2FhqRmrxCH4vhaAdimEHrUqlxSnUrZUOVB2fRuOBIHZr3ciqcskA2YrKv7UuqhP76rx8OuR1UaMHZQxFGnPh8YqRuAKXLC+12EZXFdgJGkDzoRBydE409kbxW4MfLzX56NIEPqp3IYvgKq0dOeJJEjnMh9sq1rKSRA6f+fVe2f1byoU3zdhxwCkpcMnyvWo71heOoPVUAnn8uLXdh6IaO3pPxtF9NIZcHa0TlspgwuI7wHfrbSJ7q13oPJ7AL5q9ckg3qk/FtxvvUY7f1VqxvmgEhhPT0LV64LREMHQsSKvFoQ7lUEGARASIAKuim5V1Dp93ExDhyOM30rFpkhgjCSu26czLh+Fn9RaGwIadjPux4SgSZ+fhHY8RxC4flCPH2IO9JKNp8mA/VRyeLTwhiBHwNoF/JiFyRXivyzSNp0lY9IUXGmxqBfaO7ByMZTyiHuYLVrzIxOm0hHH05ISSZCKhnKhsdGL4cAgOYxi2IyEc7w2itM6NbA1JCkC6PEfnVQh5qPxWEGLO7K31oubkLNYVDePhUitURktyKN7WOzIfLrXFRdN4ucGOvlMRHiascSKfVgz3hQgcgeMICfSHYefzdF8Y+ax12QOCBPNDeEVF0jkkLYeNa+GJuu4g3tAH5M74XL0r2QtCXmk2/XlFkR1vSWPoOTaJXLo9i4e0Grywk4BFgA8Q/MQkrHxaue7pCtALNtkLovwqWTn+6HmMhc5DzQTMEiVJYrt1dtQwKdMKR/HtyuHlc+HFRrckevh7vWEcGorKJZWtcaGf9W87EoT1aBQz8Qv44sY1zM9fhMN0BiP0wl5aLLyQ3+BC/Oxl/P3mTdy8dQve0Kc0QvEMz2kZimNLySg2MuG7veeTw/AdnUdawRDsG4ii62gIWRrxoZ3xpvuNIfg8s7h14yYm5hdw9spVTE0twNofREkdY85Yt5L4tevXUWI+A1vib7h4+TrUrT4lid1o7Ivi+zzvawWnUHF6MlOBvSNPaZySGCyFA9PoHGASyh3NgcGDEzD3hzCb+Aynp87hzUMTeL3Tg08vXIadoVDXCwJOtBijKDeHsbXaid+woV27cQO1PUE5FwSBJuMUntZwaJGAxnEumcA3BQF6oHAghrqecRQ3L7lOkvywDIRwdu4SSmxTWMt3/tg/jrn5zzHMxNxDF4skLGa9t7nm8MuOMQxNncelK9dQwaYmwpNNb+pNcTzKmbJZPQJjeJnB9HzdmEzgr32TKGlw0GVBMneiuJZVQFdP+Odx/cZ1zHx2EQuXvoDHPA29wcd3RHsWVnpQT29FGJq5+UsYNM8gV7behQ85lssHZ5DC8zOqRpdPwh16mzqFVfCmFERlux8Glpvc+8m+ocWHEYbBa5mB3/UJLJz1re0cPATIkRNtqWQF4VyW3u5qj9xDlvYcaOuP4Se1bqwqsOCd3nGDSoUUBfaOVBy2Zq4mw21MlKaBKRQ1uaHrCeADucTs2FfthpZ7ZWxWeXR7ljIB5c7HXiFqXm5eBFTxv+Imr3wnqGzz4wN6NZXz5ls6V6zDPbNJgUyWbVVWrMkfgYYTcC8vFcILeTy8gHP/Q2a7cKc4XI6rIEDApYYjSDBp+XsPiVZ2BFDS7Ed5sw9a1v8DagvHPdu9MforCVipwCXLy00OdWrBKJ4lc2lwEnt4+zGwJLM5sEp5CdEaJrC/fRzl7GqlDEsJtYwXknJaqTWMy1rWFpCnaqUhAA1D9RAvOuKC82pPSLKcX1z3U5Vp1S4HUhXIf5Vubzj9sdIRtmQzXudhnSRR2e5BszEi58PSxcMhJ1ceLd1NFR6Sa503oCzZCy5oO0iKQ2ht8RJ4hj4gZfr9abt0jlQAKdQVCmSylJycfGNLhWVGXDR/yMSRTicgcQAZ+iOcbnY5BPIAYh7IdwPxmwmXJeeAAwUc4z3spJ0js3iO37/Q5pN6rIkHWc1pyybf3UJ2aYLhr3uDhbsORDjTY7TUxXAs5YS2a5yZLxJNDBpaTgJZTMY9dS60GYOoPxSWiXzU4IbD94na4Zhdc/DoxKM8+t5WLyfhxcXVo/75J1p7Q7n7GsbispW0XsS97UiUnS8ix7nmYBDtXDexFeeyC2Zr3AT3LLKCkrsdRX947AGTKXa/svz34jizsD4cXlwtHY/9pazNP5ojx92O2lYv3M4EjvQG0MGGpGEnrGwPQHcg1NFtiqcvF+cyY3h17cGJtSrmgbL1n4s4kLrSH7nwhG10+k9RT0I1N3lOFbDEds5NLrx1deHq5sXFxQevXFncxPeSAA4PTX5DfK8sv7wIEGoaQdcqW7Jw77+L9f9O7rvvH1PUoH0XLDOHAAAAAElFTkSuQmCC"
850 },
851shellife: {
852 name: "Shellife",
853 url: { 0: "shellife.eu/details_.php",
854 1: "shellife.eu/details.php"
855 },
856 searchurl: "http://shellife.eu/browse.php?search=%s&cat=1&exact=1",
857 css: "",
858 version:"1",
859 isAudioRelease: "return true;",
860 hook: "document.getElementById(\"greasemonkey\").innerHTML = '<table class=\"row2\" width=\"100%\"><tr><td class=\"row1\" align=\"center\"><div id=\"OiNKPlus\"></div></td></tr></table>';",
861 findArtist: "return document.getElementById(\"greasemonkey\").title;",
862 morelink: "/browse.php?search=%s&cat=1&exact=1",
863 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAANgSURBVFhHxda9q1VHFAVw/6qgRIs8kkbFSqzEIhYRQQSxEEFsxEaxEBtTpNNYJII2WogWggiKoqgoLz78QkUlSP6B8f0OWZe58+a8+y4KFouZ2fecvdb+mH3uulLKd0XXuFacOHmqHDt2vFjh7O9/LJv7z46ha5yFQ4cOl3PnL5TrN26WO3fvl8dPnpZbt26XK1evDWifXw1d4xhEiwDh4j9L5fnSi/L6zdvy8tWbARFCVPvuGLrGFohF/ODho4Ho3fsP5eOnf6fABkR8UwH79u0vF/78q9y7/2AgR/b5839d+E1WiGj9jKFrDJD/ffHyEFHSvZoASDlaX2PoGmHPnr1D5Kmp9M8iB2X4agG6/PTpMwM54qfPFocSrEUEAbLV+hxD16jpkKslZ6DrnYmom7Amd/bsV2VA3V21uuPVnmOZUA52tlpIyOe5AbDCYJql6eK4FdCKiEiiW3+zMHU4cODgZNC0zglgR24CImPzG5HzpL3G1ME8T/Q1Oed6AGkEAEF5zju1r7Vi6uDO101mRZ701wJkSqOakPkoXbp0ednNNMEsTDb1nBd1IrNHzo4cKQGe3759xwAzw+o3mEfIZKP+MpCRi9ga1AKQLyz8XBZ++qVs3rx12O/cuWv4ndggvlfDZCOKjN186axxRgBxokO48cdNAwYhy/A+ccrBDxhm8T+GySYCkCAOQq7+fhO9qCNg/Q8bBpgf+sE7RniCif8xTDZ1CRJ1jYhAFAEhD/iQBdmTKUKICkcPk43UeZjqpB/s65uAZEyAUiDWpPmW2Iejh6kDEV4SLUTA6/8b0t4z6YFWAJsgkgVT1b7maDF1qL//okWKvL6SIkQ0lgGEniVEELP+qE4d8hnOTQh5vgn2IlOClpwgDYqYSL2EXN/UHC1WGNxnL6odJ0TUn1tRpQSBeYA8TehdGRTMXD0AHG3Zsq3s/vW3koxkQnLKFgGuLnJ9YZ+UE6GUMrHmW1DDWEWSSQcZuUeOHB2uokxxTqw0+03PpAmztr5bdI3AoZTKBHJEzjIgS7lqIk69EeYmpYyt3xZdYyBK5FbkCJFbkw0k9hEk7Upm3/rroWuskSgRWGWEIDVmUw52ZZAd5ES0fsbQNfYgWtmwhlzkKUcy0743C13jLGgwUcM80a5EWfcF4aYWKiAxeMwAAAAASUVORK5CYII="
864 },
865libble: {
866 name: "Libble",
867 url: { 0:"libble.me/torrents.php\\?id=",
868 1:"libble.me/artist.php\\?id="
869 },
870 searchurl: "https://libble.me/artist.php?artistname=%s",
871 css: ".artistHeadline {font-size: 10pt;text-align:left;} \
872 font-size: 10pt !important;}",
873 version:"1",
874 isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
875 for (var i = 0; i < tds.length; i++){ \
876 if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
877 typeFieldContent = tds[i].nextSibling.textContent; \
878 if (typeFieldContent.match(new RegExp(\"(Apps|Comics|E-books|E-learning videos)\"))) \
879 return false; \
880 break; \
881 } \
882 } \
883 return true",
884 hook: "var divs = document.getElementsByTagName(\"div\");\
885 var centertable; \
886 for (var i = 0; i < divs.length; i++){ \
887 if (divs[i].className == \"main_column\") {\
888 centertable = divs[i]; \
889 break; \
890 } \
891 } \
892 hook = centertable.firstChild.nextSibling.nextSibling.nextSibling;\
893 myDiv = document.createElement(\"div\"); \
894 myDiv.className = 'box'; \
895 myHeadline = document.createElement(\"div\");\
896 toggleDiv = document.createElement(\"div\"); \
897 toggleDiv.id = \"toggleOiNKPlus\"; \
898 myHeadline.appendChild(toggleDiv);\
899 myHeadline.appendChild(document.createTextNode(' '));\
900 myBoldText = document.createElement('b'); \
901 myBoldText.textContent = 'OiNKPlus'; \
902 myHeadline.appendChild(myBoldText);\
903 myHeadline.className='head'; \
904 myDiv.appendChild(myHeadline);\
905 myNode = document.createElement(\"div\"); \
906 myNode.className = 'OiNK'; \
907 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
908 myDiv.appendChild(myNode); \
909 hook.parentNode.insertBefore(myDiv, hook.nextSibling); \
910 seperator = document.createElement(\"div\"); \
911 seperator.setAttribute('style','clear: both');\
912 hook.parentNode.insertBefore(seperator, myDiv.nextSibling);",
913 findArtist: "var h2s = document.getElementsByTagName(\"h2\"); \
914 if (h2s.length > 0) { \
915 var str = h2s[0].textContent; \
916 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
917 if (str.split(' - ').length > 1) { \
918 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
919 } \
920 else return str.replace(/^\\s+|\\s+$/g,\"\"); \
921 } \
922 return '';",
923 morelink: "/artist.php?name=%s",
924 icon: "data:image/png;base64,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"
925 },
926musicvids: {
927 name: "MusicVids",
928 url: { 0: "music-vid.com/details.php"
929 },
930 searchurl: "http://music-vid.com/browse.php?search=%s&searchtype=1",
931 css: "",
932 version:"1",
933 isAudioRelease: "return true",
934 hook: "var centertable = document.getElementById(\"oinkpluslocation\");\
935 document.getElementById('spam').innerHTML='';\
936 centertable.style.dispay='inline';\
937 var new_row = document.createElement('div');\
938 toggleDiv = document.createElement(\"div\"); \
939 toggleDiv.id = \"toggleOiNKPlus\"; \
940 new_row.appendChild(document.createElement('div'));\
941 new_row.firstChild.appendChild(toggleDiv);\
942 new_row.firstChild.appendChild(document.createTextNode(' ' + 'Oinkplus'));\
943 var div = document.createElement('div');\
944 div.id = 'OiNKPlus';\
945 new_row.firstChild.appendChild(div);\
946 centertable.appendChild(new_row);\
947 ",
948 findArtist: "var h1s = document.getElementsByTagName(\"h1\"); \
949 if (h1s.length > 0) { \
950 var str = h1s[0].innerHTML; \
951 return h1s[0].getElementsByTagName('b')[0].innerHTML; \
952 } \
953 return '';",
954 morelink: "/browse.php?searchtype=1&search=%s",
955 icon: "data:image/png;base64,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"
956 },
957torrentz: {
958 name: "Torrentz",
959 url: { 0: "www.torrentz.com/",
960 1: "www.torrentz.eu/",
961 2: "torrentz-proxy.com/",
962 3: "www.torrentsmirror.com/"
963 },
964 searchurl: "https://www.torrentz.com/search?q=%s+music",
965 css: ".OiNK {float: left !important;} \
966 .OinkPlus {float: left !important; min-width:700px;} \
967 .artistHeadline {font-size: 10pt;}",
968 version:"1",
969 isAudioRelease: "var divs = document.getElementsByTagName(\"div\");\
970 for (var i = 0; i < divs.length; i++){ \
971 if (divs[i].className == \"download\") {\
972 if (divs[i].textContent.match(new RegExp(\"(audio|music)\"))) \
973 return true; \
974 break; \
975 } \
976 } \
977 return false;",
978 hook: " myDiv = document.createElement(\"div\"); \
979 myDiv.className = 'results'; \
980 myDiv.setAttribute('style','position: relative'); \
981 myHeadline = document.createElement(\"h2\");\
982 toggleDiv = document.createElement(\"div\"); \
983 toggleDiv.id = \"toggleOiNKPlus\"; \
984 myHeadline.appendChild(toggleDiv);\
985 myHeadline.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
986 myDiv.appendChild(myHeadline);\
987 myNode = document.createElement(\"div\"); \
988 myNode.className = 'OiNK'; \
989 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
990 myDiv.appendChild(myNode); \
991 var divs = document.getElementsByTagName(\"div\");\
992 var filesDiv; \
993 for (var i = 0; i < divs.length; i++){ \
994 if (divs[i].className == \"download\") {\
995 filesDiv = divs[i]; \
996 break;\
997 } \
998 } \
999 filesDiv.parentNode.insertBefore(myDiv, filesDiv.nextSibling);\
1000 seperator = document.createElement(\"div\"); \
1001 seperator.setAttribute('style','clear: both');\
1002 filesDiv.parentNode.insertBefore(seperator, myDiv.nextSibling);\
1003 ",
1004 findArtist: "var title = document.getElementsByTagName('title')[0].innerHTML; \
1005 title = title.replace(/Torrent Download/,'');\
1006 if (title.indexOf(\"-\") < 0 ) return null; \
1007 var myartist = title.replace(/\\[.*?\\]/g,\"\").replace(/_/g,' ').split(\"-\")[0]; \
1008 return myartist.replace(/(^( )*)|(( )*$)/g,\"\").replace(/[ ]{2,}/gi,\" \");",
1009 morelink: "/search?q=%s+music",
1010 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAJ9SURBVFhH3ZfLaxNRFMbzD7j2b3BpmtZWWyyICgruLCLShWmaWJJQFF+tIqhdCCUrhaaZaaxNsD4CUo3BGhctCEWqoihajNhYJaHSGps2yeT1eWfmZuhMxkdwbtUe+MFw5pz5vsy9nMk1acPc4atjCZWpDnPnQLfZNtBf1+kFS0QNi827ncrKQcVX9BpYQPTmNluvbKLyxMAa/HItynKIF2LC9nAOuVIZRsXs4xC2demLV9h6mNvw7xhoOTmKgxdDONT3A0beIVmgBnPfEPQ9QLteHaXtNI96u75wBZWBX9L/Eh/zJdlAdhGe89fRoFdXA+vDgC34FCPjL2qCvx3F7qO8MQY8M1k5V0Msf36LA73+dWJAt3Y1Dg77/c8RSxel1lJRwJPxR9jjHlwbA7v6JjGVFEA78f7VNNpOcNI99ga67iI8m0FlfJTSCZzpGYKF3mdsgEP31CKU4ZpPYfTSsKqHmQGLcxgd9+JIFWX1QiaF8LVbaHKo69gYOOKHPfAG8WV505ULOUTuR7HDNVhVy8TAzt6watMlYjNoJ0NHWyfCwAAPz+s06JsHhAV4znKor6qTMdSAxR2Aa+ILBKmgDGFpHjcuX1U/Q4NxBhxBnIp8UjZdMfMVAX8IjZpNp8UgAxys/DN8IJNOki/mMRGexF6nr/oZGgwx0NoTQjSRUzbdQjwGxzGfMmx+hiEGzk0voSBnyajLIhK8o/sPScWFm2h1csYYGEvKqZqC9B8n/fv+LwPks9rsGkKLm+Di0WiXJ1uTk+ZqgfQ3kH5pCaSzwd88mIghntXE45JeIRNs3rEtVt9GKi+HeFb77eX4A0SNKvHVIa4LS6gMDZPpOzm1vHjonRGeAAAAAElFTkSuQmCC"
1011 },
1012kraytracker: {
1013 name: "Kraytracker",
1014 url: { 0: "kraytracker.com/torrents.php\\?id=",
1015 1: "kraytracker.com/artist.php\\?id="
1016 },
1017 searchurl: "http://kraytracker.com/artist.php?artistname=%s",
1018 css: ".artistHeadline {font-size: 12pt;} \
1019 .OiNKPlusHeadline {text-align:left }",
1020 version:"1",
1021 isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
1022 for (var i = 0; i < tds.length; i++){ \
1023 if (tds[i].className == \"td_dark\" && tds[i].innerHTML.indexOf(\"Artist\") > -1) { \
1024 return true; \
1025 break; \
1026 } \
1027 } \
1028 return false;",
1029 hook: " myDiv = document.createElement(\"div\"); \
1030 myHeadline = document.createElement(\"h4\");\
1031 toggleDiv = document.createElement(\"div\"); \
1032 toggleDiv.id = \"toggleOiNKPlus\"; \
1033 myHeadline.appendChild(toggleDiv);\
1034 myHeadline.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
1035 myHeadline.className = \"OiNKPlusHeadline\"; \
1036 myDiv.appendChild(myHeadline);\
1037 myDiv.appendChild(document.createElement('br')); \
1038 myNode = document.createElement(\"div\"); \
1039 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
1040 myDiv.appendChild(myNode); \
1041 var tds = document.getElementsByTagName(\"table\");\
1042 var centertable; \
1043 for (var i = 0; i < tds.length; i++){ \
1044 if (tds[i].className == \"main\") {\
1045 centertable = tds[i].parentNode.parentNode.parentNode; \
1046 break; \
1047 } \
1048 } \
1049 var new_row = centertable.lastChild.previousSibling.cloneNode(true); \
1050 if (new_row.firstChild.hasChildNodes()){ \
1051 new_row.firstChild.innerHTML = '';\
1052 } \
1053 new_row.firstChild.appendChild(myDiv);\
1054 var parent = centertable.lastChild.previousSibling.parentNode; \
1055 parent.appendChild(new_row);",
1056 findArtist: "var title = document.getElementsByTagName(\'title\')[0].innerHTML; \
1057 title = title.replace('Kraytracker / ', ''); \
1058 if (title.indexOf(\"-\") < 0 ) return null; \
1059 var myartist = title.replace(/\\[.*?\\]/g,\"\").replace(/_/g,' ').split(\" - \")[0]; \
1060 return myartist.replace(/(^( )*)|(( )*$)/g,\"\").replace(/[ ]{2,}/gi,\" \");",
1061 morelink: "/?cls=2&act=audio&orderby=added&sortby=desc&artist=%s",
1062 icon: "data:image/png;base64,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"
1063 },
1064rockbox: {
1065 name: "RockBox",
1066 url: { 0: "psychocydd.co.uk/details.php"
1067 },
1068 searchurl: "http://psychocydd.co.uk/torrents.php?search=%s",
1069 css: "",
1070 version:"1",
1071 isAudioRelease: " return true;",
1072 hook: "hookNode = document.evaluate(\"//tr//tr//tr[contains(self::node(),'Added:')]/parent::*/tr[position() = last()]\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; \
1073 var new_row = hookNode.cloneNode(true); \
1074 toggleDiv = document.createElement(\"div\"); \
1075 toggleDiv.id = \"toggleOiNKPlus\"; \
1076 if (new_row.firstChild.hasChildNodes()){ \
1077 new_row.firstChild.innerHTML = '';\
1078 } \
1079 new_row.firstChild.appendChild(toggleDiv);\
1080 new_row.firstChild.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
1081 new_row.firstChild.nextSibling.innerHTML = '<div id=\"OiNKPlus\"></div>';\
1082 var parent = hookNode.parentNode; \
1083 parent.appendChild(new_row);",
1084 findArtist: "var hint = document.evaluate(\"//tr//tr//tr[contains(self::node(),'Torrent:')]//a[2]\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; \
1085 str = hint.textContent; \
1086 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
1087 if (str.split(' - ').length > 1) { \
1088 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
1089 } \
1090 if (str.split('-').length > 1) { \
1091 return str.split('-')[0].replace(/^\\s+|\\s+$/g,\"\").replace(/_/g,\" \"); \
1092 } \
1093 return ''; ",
1094 morelink: "/torrents.php?search=%s",
1095 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAATPSURBVFhHrZcHktswDEXttbf33nvvvc9Wb++9ak+SXMlnRPgQU+EqtK3MxDN/aFEU8AF8QHbCfEoNfhpkCyGZTCrsdWlpaXZkZCQ7Ozub3djYyM7Pz2ebm5u/nSkpKQm/e/DDIGWQyBhIMRhjYoyLcSyjo6NydnYm9/f38vz8LHd3d/Lw8CBPT0+yubkp1dXV4TNROxHgOxE4G3mB46amJtnd3ZXHx0d5f39Xh5eXl7K9vS2Tk5NycnKi++fn59Le3h6HAL6LEygrK5OhoSHZ39+Xl5cXdfL5+Sk3NzcyNTWlgIAph977+PiQ29tb6e3tLUaiOIF0Oi3Dw8NycHCgacYBJC4uLrQEpv4yMzMjExMTiuvra3l9fdVzV1dX0tfXp6Xz2TYoTAD2XV1dsre3p2kl5W9vb0rg6OhIy4FzMD4+LmNjY7pmMpnwHMQbGhq89g0KE0BMpBWDEEBwOMYJ0dq0UwKbAfZ2dna0RJwnI4uLi5JKpXw+/AQ4jOgaGxtlYWFBDg8PVfWkFgECoif9y8vLKsL19XWZnp5WMpBCnJSIlc6oqqrSUkTK8Z2Ae4C1o6NDjVECFE5KiQyRAQiRaurNSs1XVlZka2tLSaIZtAKBurq60K6zBglT5wCVk24it6q1BBAgERIx0ZBWnLMCqwtIWPFBlC6wBCBVU1OjdrGPH8SN74RxHJBuNiESJdDd3a0GyMLp6ak6tBHjCBJcB0GgxNiDCOmnTREhQWDbEsA5PvGdMF8CG7m9aQl0dnaKGa+hDigDUeHo6+srLAUEKA2OuQ8JpiMg/a2trd9EiO2cv98a4IJNm5pceqSlpUUfxgjO5+bmtNUgRDcQvStMzjCsrGbIgHlHaAaw5xIA+FYCzkZ4kwfq6+u1rTDCPEAnlZWVmpWBgQFVPg4BHcFeT0+PEmdyHh8fKxnGsrUPbMD4NvjTBS44UFtbKxUVFSEpFxCi7Zh0OGY2IDR7HydklBcXhGyZI37yEwBEysO+e/Q19ykJRBGV7xyOIeZqwEHhDPT394t55/91D2CU6JiSaAMS0TPYoP5kyxM9KEyA2gNaiGt7j2ioNe2J0Kgz105tdeU5JiV6sM9G4CeAofLycllbW1O18zsAY6SZfWYDxLhH25EFph/7ZIbyIFYc0w2M56iPHPJnAAOonF5mBiwtLWk0tCAvF6Ln5cM5HNAFTEtII87BwUHdoz057/NhkJ8AESMwdEAdeTHRhmQD8aENm26rB2rN8OL9QXaYnKxkyy2hg/wEeMAOJYDImAsAEqyuUfb4BcT4pkyAIQYpssG1az+H/ARcoAkygHGip9bUGU3YqckeNWcu4JhsQRDBcu6fMxAFGcA4JEg3UTHhKAWRU2fakTN2IPnsRBCfAFHgnKmH0HAIqC/iRKS8M9AMZP87AURJpAgMAnQDrcd3VgjQBQi3ra3Na8OD+ASoM3VH5cx9Il9dXQ1bkpcW5UCMCC7P6I3i3wjwYuLdQO1RN7+GyYhtVUiwz2yARIwyxCdARCielUygdIggRnSBPvjdR5dAIKYQ4xPAGM4xTib4jhNAy1lC/AdAhJyLSyDWn1NAGXBsYa/JDF2CUCHDyr7PRgT65zRtUPTvuYWJKoQhEK6GhH43RPQa+J53YP6eJ5K/AGogsilS/sISAAAAAElFTkSuQmCC"
1096 },
1097rutracker: {
1098 name: "RuTracker",
1099 url: { 0: "rutracker.org/viewtopic.php\\?t="
1100 },
1101 searchurl: "http://rutracker.org/forum/tracker.php?nm=%s",
1102 css: "",
1103 version:"1",
1104 isAudioRelease: "return false",
1105 hook: "return null",
1106 findArtist: "return null",
1107 morelink: "",
1108 icon: "data:image/png;base64,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"
1109 },
1110kickasstorrents: {
1111 name: "Kickass Torrents",
1112 url: { 0: "kat.cr/"
1113 },
1114 searchurl: "https://kat.cr/usearch/%s%20category%3Amusic",
1115 css: "",
1116 version:"1",
1117 isAudioRelease: "return false",
1118 hook: "return null",
1119 findArtist: "return null",
1120 morelink: "",
1121 icon: "data:image/png;base64,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"
1122 },
1123thepiratebay: {
1124 name: "ThePirateBay",
1125 url: { 0: "thepiratebay.se/torrent/",
1126 1: "thepiratebay.mn/torrent/",
1127 2: "thepiratebay.gd/torrent/",
1128 3: "thepiratebay.vg/torrent/"
1129 },
1130 searchurl: "https://thepiratebay.se/s/?q=%s&audio=on&searchTitle=on&page=0&orderby=7",
1131 css: ".artistHeadline {font-size: 12pt;}\
1132 h2 {clear:none !important; text-align:left !important;}",
1133 version:"1",
1134 isAudioRelease: "var hints1 = [\'/browse/101\']; \
1135 var hints2 = [\'/browse/104\']; \
1136 var hints3 = [\'/browse/199\']; \
1137 for (var i= 0; i< hints1.length; i++) \
1138 if (document.getElementById(\"details\").innerHTML.indexOf(hints1[i]) > 0) { \
1139 return true; \
1140 } \
1141 for (var i= 0; i< hints2.length; i++) \
1142 if (document.getElementById(\"details\").innerHTML.indexOf(hints2[i]) > 0) { \
1143 return true; \
1144 } \
1145 for (var i= 0; i< hints3.length; i++) \
1146 if (document.getElementById(\"details\").innerHTML.indexOf(hints3[i]) > 0) { \
1147 return true; \
1148 } \
1149 return false;",
1150 hook: " myDiv = document.createElement(\"div\"); \
1151 myHeadline = document.createElement(\"h4\");\
1152 toggleDiv = document.createElement(\"div\"); \
1153 toggleDiv.id = \"toggleOiNKPlus\"; \
1154 myHeadline.appendChild(toggleDiv);\
1155 myHeadline.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
1156 myDiv.appendChild(myHeadline);\
1157 myDiv.appendChild(document.createElement('br')); \
1158 myNode = document.createElement(\"div\"); \
1159 myNode.innerHTML = '<div id=\"OiNKPlus\"></div>';\
1160 myDiv.appendChild(myNode); \
1161 var divs = document.getElementsByTagName(\"div\");\
1162 var nfoDiv; \
1163 for (var i = 0; i < divs.length; i++){ \
1164 if (divs[i].className == \"nfo\") {\
1165 nfoDiv = divs[i]; \
1166 break; \
1167 } \
1168 } \
1169 nfoDiv.parentNode.insertBefore(myDiv, nfoDiv.nextSibling);",
1170 findArtist: "var title = document.getElementsByTagName(\'title\')[0].textContent.replace(/\(download torrent\) - TPB/,\"\"); \
1171 if (title.indexOf(\"-\") < 0 ) return null; \
1172 var myartist = title.replace(/\\[.*?\\]/g,\"\").replace(/_/g,' ').split(\"-\")[0]; \
1173 return myartist.replace(/(^( )*)|(( )*$)/g,\"\").replace(/[ ]{2,}/gi,\" \");",
1174 morelink: "/s/?q=%s&audio=on&searchTitle=on&page=0&orderby=7",
1175 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAUCSURBVFhHxVdNTFRXFBaGGf4iBYUBEVBogcJILURLQSsosQUTfgstCeWnW8SNxki7ckG76khiYlGTUiAsiIILXRCW7mBBWillQatho4QgQuQ3DMzX+x3nvnkzoCkkpSf5cu89591zvnvueefN7KO43e4jCjcUbu4R2hQOm4OvYI9FxXythjASuPFGtfeiYjtJ4KZnvefC2NsSUDqfcTfCveb9eu2nezuBzc1NzMzMoKenB93d3TtGV1eX4N69e1hZWfEJrOWdBNbX11FVVQVVp7tCQECAIDAwEK2trTsnsLq6iry8PB+H2823W5t1HBsbG8WnP4m3EqCQQH5+vpxAw2KxyEinnHPUYDD9nF5rAg0NDR6vvvKvCOgAdGy323Ho0CGZR0REIC0tzUB4eLjoExISEBUVZewjCWZgO9kRgaSkJDx9+hQvXrxAbm4uampq5BkW2NLSEgoLC6Vm5ufnMTIy4kNixxlQOnHMGtBOSkpKsLGxIW9Hc3MzEhMTUVlZKSgvL5fs3Lp1S/aura0hPT1d9ukMUK+hRc3fTmB5eRknTpwwCISFhcHpdMqrFRMTY9y1GSkpKejr65Oqt1qtoiOB6upqIa59a3kngbm5OcTFxYkTBtMB9dy/CLVNz3URErw++tTQwtg+BMwPzM7OIjY21nBmBAlQBPRoCig2rtWztJv18fHxhl/zqOAlwIK6f/8+RkdHJV3mDGjnwcHBCLbakPpBKj79JNewMRsFBQWIjbEjxBYMW5DVhxzfHPr0BJW5Z+0l0Nvbi6CgIDn11NQUXr58Kcy1E4J3WV5ahm8bm/Bj2w9GEO67e+cuCs8UoOGbepwtKPTZd/ToUSlgdteJiQkpUg8JL4H+/n5xRKfs5YuLi+jo6EBWVhYyMjKQmZkpOJbpgEONjoxM0Wubw+Hw2hS0PicnBwMDAxKcr6PNZsPly5fhcrm8BNybbtz+uQNBKpUWdbcR+/cj5+NsXFSv26+/dGJi/E8svV6Ee8M3jXpOMY9mUHj6sbExozeUlZUJAWV/Q+DV3CtEvRcpxRN98CC+rKzCkcQkhIaEwGoJQnhoGN5PTpH0d3Z2Ynx8XDKkA3CkQzYhXt/jx48li1euXEFRUZFk4sCBA8aVMLPcYxBgJyv+/AtkpH+IluaL+OhYFr5v/Q5Pfvsddzpuo/arr8VGQnTAa2IjqqiokHSWlpbi+PHjOKjI69eTfYC9Izo6GqmpqTh58iT2q8zSxtZNsgYBnsKl7mhhYQH19fXyECve+ZMTtxXblpYWFBcXbylKBmPdmHWRkZFoampCT1e3HOCPJ2M4feq0FOKFCxcQog6RnJyM6elpXwJq5IDh4WG5K55Sg4XD07HTMaWXLl1Ce3s7BgcH8ejRI1y7dk26JtPM53l6XmnBZ2dwOv8ULEpHsm1tbZicnJTTb3kLSICgkWx5Gqbt4cOH0hvYmLjJ/KwZtPFDNTQ0hKtXr6Lo7DnYVctmUbO2srOz5RcWC9K0ZyuBZ8+eyd0xtaZiMWAWf7157Vp34e/JvxQJuxymtrbWx+7BVgKs5gcPHshHhR+k3Qp98Yt6/vx5IVBXV2fE0KLmbwhog4bHaMx3I9zLa2FHZa08f/5c1mafau7NgNnIkfDfsBPRPraDFjX3Evg/RBPgH0WPas/lOgkcVuAfxT0VFXNWIVT91lC/INS/VLVwKvj/jf5PoOJdV6MKvm/fPz7k+j3SMXAOAAAAAElFTkSuQmCC"
1176 },
1177arenabg: {
1178 name: "ArenaBG",
1179 url: { 0: "arenabg.com/torrent-download",
1180 1: "arenabg.ch/torrent-download"
1181 },
1182 searchurl: "http://arenabg.com/torrents/search:%s/type:music/time:wr0Lt19TLCIiFSo1fkPWDazNwKayHKWr3lupBpw8eXM/",
1183 css: "",
1184 version:"1",
1185 isAudioRelease: "return false",/*"var tds = document.getElementsByTagName(\"td\");\
1186 for (var i = 0; i < tds.length; i++){ \
1187 if (tds[i].className == \"lista\" && tds[i].textContent.match(new RegExp(\"Category\"))) {\
1188 typeFieldContent = tds[i].nextSibling.textContent; \
1189 if (typeFieldContent.match(new RegExp(\"(Music/)\"))) \
1190 return true; \
1191 break; \
1192 } \
1193 } \
1194 return false",*/
1195 hook: "return null",/* "var tds = document.getElementsByTagName(\"td\");\
1196 var centertable; \
1197 var tds = document.getElementsByTagName(\"td\");\
1198 for (var i = 0; i < tds.length; i++){ \
1199 if (tds[i].className == \"lista\" && tds[i].textContent.match(new RegExp(\"Category\"))) {\
1200 centertable = tds[i].parentNode.parentNode; \
1201 break; \
1202 } \
1203 } \
1204 var new_row = centertable.lastChild.previousSibling.cloneNode(true); \
1205 toggleDiv = document.createElement(\"div\"); \
1206 toggleDiv.id = \"toggleOiNKPlus\"; \
1207 if (new_row.firstChild.hasChildNodes()){ \
1208 new_row.firstChild.innerHTML = '';\
1209 } \
1210 new_row.firstChild.appendChild(toggleDiv);\
1211 new_row.firstChild.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
1212 new_row.firstChild.nextSibling.innerHTML = '<div id=\"OiNKPlus\"></div>';\
1213 var parent = centertable.lastChild.previousSibling.parentNode; \
1214 parent.appendChild(new_row);",*/
1215 findArtist: "return null",/* "var title = document.getElementsByTagName(\'title\')[0].innerHTML; \
1216 title = title.replace('ArenaBG.com - ', ''); \
1217 title = title.replace(' - Torrent Details', ''); \
1218 if (title.indexOf(\"-\") < 0 ) return null; \
1219 str = title; \
1220 str = str.replace(/\\[[^\\]]*\\]/g, ''); \
1221 if (str.split(' - ').length > 1) { \
1222 return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
1223 } \
1224 if (str.split('-').length > 1) { \
1225 return str.split('-')[0].replace(/^\\s+|\\s+$/g,\"\").replace(/_/g,\" \"); \
1226 } \
1227 return '';",*/
1228 morelink: "/torrents/search:%s/type:music/time:wr0Lt19TLCIiFSo1fkPWDazNwKayHKWr3lupBpw8eXM/",
1229 icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REQ5QUYzNTJENUU3MTFFMzlDMUJCMTk5NjZCMjdERTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REQ5QUYzNTNENUU3MTFFMzlDMUJCMTk5NjZCMjdERTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpERDlBRjM1MEQ1RTcxMUUzOUMxQkIxOTk2NkIyN0RFNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpERDlBRjM1MUQ1RTcxMUUzOUMxQkIxOTk2NkIyN0RFNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoYQdfgAAAdHSURBVHjaxFd7jFTV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"
1230 }//,
1231//funkytorrents: {
1232// name: "FunkyTorrents",
1233// url: { 0: "funkytorrents.com/details.php"
1234// },
1235// searchurl: null,//searchurl: "http://funkytorrents.com/browse.php?search=%s",
1236// css: "",
1237// version:"1",
1238// isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
1239// for (var i = 0; i < tds.length; i++){ \
1240// if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
1241// typeFieldContent = tds[i].nextSibling.textContent; \
1242// if (typeFieldContent.match(new RegExp(\"(Apps|Movie|eBooks|Music Vids)\"))) \
1243// return false; \
1244// break; \
1245// } \
1246// } \
1247// return true",
1248// hook: "var tds = document.getElementsByTagName(\"td\");\
1249// var centertable; \
1250// for (var i = 0; i < tds.length; i++){ \
1251// if (tds[i].className == \"rowhead\") {\
1252// centertable = tds[i].parentNode.parentNode; \
1253// break; \
1254// } \
1255// } \
1256// var new_row = centertable.lastChild.previousSibling.cloneNode(true); \
1257// toggleDiv = document.createElement(\"div\"); \
1258// toggleDiv.id = \"toggleOiNKPlus\"; \
1259// if (new_row.firstChild.hasChildNodes()){ \
1260// new_row.firstChild.innerHTML = '';\
1261// } \
1262// new_row.firstChild.appendChild(toggleDiv);\
1263// new_row.firstChild.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
1264// new_row.firstChild.nextSibling.innerHTML = '<div id=\"OiNKPlus\"></div>';\
1265// var parent = centertable.lastChild.previousSibling.parentNode; \
1266// parent.appendChild(new_row);",
1267// findArtist: "var h1s = document.getElementsByTagName(\"h1\"); \
1268// if (h1s.length > 0) { \
1269// var str = h1s[0].innerHTML; \
1270// str = str.replace(/\\[[^\\]]*\\]/g, ''); \
1271// if (str.split(' - ').length > 1) { \
1272// return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
1273// } \
1274// } \
1275// if (h1s.length > 0) { \
1276// var str = h1s[0].innerHTML; \
1277// str = str.replace(/\\[[^\\]]*\\]/g, ''); \
1278// if (str.split('-').length > 1) { \
1279// return str.split('-')[0].replace(/^\\s+|\\s+$/g,\"\").replace(/_/g,\" \"); \
1280// } \
1281// } \
1282// return '';",
1283// morelink: "/browse.php?search=%s\">% FunkyTorrents",
1284// icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAAKYSURBVDhPTVJNTxNRFJ0VUTChnb5582Yc+oHTYVoT+kFZMKVEsTUUsU0qSCUVTBHSaCFgLAVSCAEMCWl1U5Pizoawxm1tYcMPYMFCFhJWmFgMu5pQPryFJnjyNu/ec+65971LXf6HUqmUyWQCgYClgmafz7eysnL066iavsKNYGNjgxCiqq93dz5qsdnsNluHy2WSZYgsLy2Vy+VrWlXwYXn5Vk2Ntbl5dmbGqSh+n+9ZIKC0tQ0OvoxG36pVqr7nfaenp1XBt83N2trbUGkq9v5FMPi0p0cyGo3ivVaHY3RkZDwabXc6GczEpmIVAehkWabVKp1W+zGZ0tA0xgyLMSGYYVCDIASDQa+3i2UxS9i9vT0ql8vV3alDGo0kim8iEavVAlSOIzzPwXV1dbXRoA/292MI8tzc/Bw1MTGhptWYQXa77VMqZRRFDaKhNvhA6whpRFF8NTTEMAzHk+6ebsooGYFhNpuKxeJsfBoM84X82pe1ZCq5vbW1u7ubSCQODn4qShs4NMlNlOm+CWGkOBUYKDI6WvpbOjsr7+//yGazZxWUs9mvxeLvcDhMOCLJEhUdj2IWS03S4eFh+PXwg86HCwsLsllGCA2PDMen41qd9vjPsdvtJtDSk26qsFWgEQ12Or0uFAp1ebtoDQ2PyMAQGEHK0GhwdbggCHMvLi1S4Opsd/JXQAxKzCeAzRIMttADPCUc/i4PbKFBgDWpfNzOzs51FEwjkYjH44YdAbbFavE8doM5L/CgT6fT1Z8GwLMAB0wEQRgfG4O16+3tnYrHoEqlEEcm301eXFzcCAC577kWh/2qBRY2r7XVQQh8L9Yb9OnP6fPz82vajQAA8+Tz+dDAgNlkguP3+9fX109OTqppwOXlP/CSQTLPB6byAAAAAElFTkSuQmCC"
1285// },
1286//metaltorrents: {
1287// name: "Romanian Metal Torrents",
1288// url: { 0:"metal.iplay.ro/details.php\\?id="
1289// },
1290// searchurl: null,
1291// css: "",
1292// version:"1",
1293// isAudioRelease: "var tds = document.getElementsByTagName(\"td\");\
1294// for (var i = 0; i < tds.length; i++){ \
1295// if (tds[i].className == \"heading\" && tds[i].textContent.match(new RegExp(\"Type\"))) {\
1296// typeFieldContent = tds[i].nextSibling.textContent; \
1297// if (typeFieldContent.match(new RegExp(\"(VA|rmtva|elearn|dvdr|discgrr)\"))) \
1298// return false; \
1299// break; \
1300// } \
1301// } \
1302// return true",
1303// hook: "var tds = document.getElementsByTagName(\"td\");\
1304// var centertable; \
1305// for (var i = 0; i < tds.length; i++){ \
1306// if (tds[i].className == \"rowhead\") {\
1307// centertable = tds[i].parentNode.parentNode; \
1308// break; \
1309// } \
1310// } \
1311// var new_row = centertable.lastChild.previousSibling.cloneNode(true); \
1312// new_row.firstChild.innerHTML = \"\"; \
1313// toggleDiv = document.createElement(\"div\"); \
1314// toggleDiv.id = \"toggleOiNKPlus\"; \
1315// if (new_row.firstChild.hasChildNodes()){ \
1316// new_row.firstChild.innerHTML = '';\
1317// } \
1318// new_row.firstChild.appendChild(toggleDiv);\
1319// new_row.firstChild.appendChild(document.createTextNode(' ' + 'OiNKPlus'));\
1320// new_row.firstChild.nextSibling.innerHTML = '<div id=\"OiNKPlus\"></div>';\
1321// var parent = centertable.lastChild.previousSibling.parentNode; \
1322// parent.appendChild(new_row);",
1323// findArtist: "var h1s = document.getElementsByTagName(\"h1\"); \
1324// if (h1s.length > 0) { \
1325// var str = h1s[0].innerHTML; \
1326// str = str.replace(' - RMT', ''); \
1327// str = str.replace(/\\[[^\\]]*\\]/g, ''); \
1328// if (str.split(' - ').length > 1) { \
1329// return str.split(' - ')[0].replace(/^\\s+|\\s+$/g,\"\"); \
1330// } \
1331// if (str.split('-').length > 1) { \
1332// return str.split('-')[0].replace(/^\\s+|\\s+$/g,\"\").replace(/_/g,\" \"); \
1333// } \
1334// return ''; \
1335// } \
1336// return '';",
1337// morelink: "/browse.php?search=%s&cat=0",
1338// icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABj0lEQVQ4jdXSu0ubcRTG8d8vvinm5e0bbzRkSEiotonGS73gVMFmS2hBJdFJ0SgIYlSCN0oVQdQ0EQvWwdLSIqYpiThY28GKgwTFKhLE9N/5Ojg41JKhLg7Pds4HHs4RQgj+M/cVMJlMWK3WfwNGoxFFUf5eVFVavV6W360QCASuAV3Xcbnc6PpDpBBYLBb8Ph92mw0hBQ8KVax2J676Zl60dTG7uEAylWQ4HEYoioLP/5LEtxTReJxgMMhSdIm3sShPq6rxND/nVfcgPZE3dAyM0tTqw1NbS/2zOpwOB8JTXcPqh88kd36yd5jh7CLHcTbHWmKLidga4yvrBIYiPKlpxFxaRkGBghQCKeV1rWBnJ+8/fmH1U4K9zG/2M0ekfvwiPBelxd9OUemjm+HbYpCS8goXM/Mxdg8OOb38w8l5lr5QCE3T8l9ESonzcTmzC3ES29/5upVmcnqKUH8vJcVF+QGz2cxoZILN9A4bqTQNTY2oqoqmaRgMhvyAzWZnZCzC1OsZ3O7Ke/TKdwZcAdc8WV2Hj4BNAAAAAElFTkSuQmCC"
1339// }
1340});
1341
1342
1343
1344
1345var RessourceLoader = {
1346 ressources: new Array(),
1347 index: 0,
1348 callback: "",
1349 addRessource: function(res, save) {
1350 save = save==false?false:true;
1351 this.ressources.push(res);
1352 window.setTimeout( function () {EventNotifier.send(null, "removeOnTimeout", {ressource: res })}, RESOURCE_LOAD_TIMEOUT, false);
1353 },
1354 isRessourceLoading: function(res) {
1355 for(var i = 0, length = this.ressources.length; i < length; i++){
1356 if (res.url == this.ressources[i].url) {
1357 return true;
1358 }
1359 }
1360 return false;
1361 },
1362 load: function(callback) {
1363 this.callback = callback;
1364 this.loadRessource(this.ressources[this.index++]);
1365 },
1366 loadNext: function() {
1367 if(this.index < this.ressources.length) this.loadRessource(this.ressources[this.index++]);
1368 else this.callback();
1369 },
1370 loadRessource: function(res, res_type) {
1371 if (!this.isRessourceLoading(res)){
1372 this.addRessource(res, true);
1373
1374 if(!GM_getValue("ressource_"+res.url, "")) {
1375 GM_xmlhttpRequest({
1376 method: 'GET',
1377 overrideMimeType: "text/plain;" + ((res_type == TYPE_BINARY)?" charset=x-user-defined":""),
1378 url: res.url,
1379 headers: {'Accept-Language': 'en-us,en;q=0.5' },
1380 onload: function(data) {
1381 if(res.save) GM_setValue("ressource_"+res.url, data.responseText );
1382 RessourceLoader.announceLoad(res, data.responseText );
1383 }
1384 });
1385 } else {
1386 //console.('Error: ' + res.url + ' is cached?!');
1387 RessourceLoader.announceLoad(res, GM_getValue("ressource_"+res.url));
1388 }
1389 }
1390 else {
1391 //console.(res.url + ' is already loading');
1392 }
1393 },
1394 announceLoad: function(res, data) {
1395 //console.(res.url + ' announcing load');
1396 //this.ressources = this.ressources.reject( function(o) { return (o.url == res.url); });
1397 var results = [];
1398 this.ressources.forEach(
1399 function(o) {
1400 if (o.url == res.url) {
1401 results.push(o);
1402 }
1403 });
1404 this.ressources = results;
1405
1406 EventNotifier.send(null, "onRessourceLoaded", {ressource: res, content: data });
1407 //this.loadNext();
1408 },
1409 removeOnTimeout: function (sender, e){
1410 //this.ressources = this.ressources.reject( function(o) { return (o.url == e.ressource.url)});
1411 var results = [];
1412 this.ressources.forEach(
1413 function(o) {
1414 if (o.url == e.ressource.url) {
1415 results.push(o);
1416 }
1417 });
1418 this.ressources = results;
1419 }
1420}
1421EventNotifier.addObserver(RessourceLoader);
1422 // class Widget
1423 function Widget(name, res, toggleable){
1424 this._name = name;
1425 this._ressource = res;
1426 this._toggleable = toggleable;
1427 this._state = UNLOADED;
1428 this._content = '';
1429 this._scrapedObject;
1430 this._currentArtist = '';
1431 this._contentNode;
1432 if (toggleable) {
1433 var togglelink = document.createElement('a');
1434 if (this.isVisible())
1435 togglelink.innerHTML = "<img src=\""+TOGGLE_IMG_MINUS +"\" border=0>";
1436 else {
1437 togglelink.innerHTML = "<img src=\""+TOGGLE_IMG_PLUS +"\" border=0>";
1438 this.hide();
1439 }
1440 togglelink.href= '#';
1441 togglelink.id = "toggle"+this._name;
1442 togglelink.addEventListener("click", function (e) {EventNotifier.send(null, "onToggle", {toggleId: this.id }); e.preventDefault();}, false);
1443 $("toggle"+this._name).parentNode.replaceChild(togglelink, $("toggle"+this._name));
1444 }
1445 EventNotifier.addObserver(this);
1446
1447
1448 this.load();
1449 };
1450
1451 Widget.prototype.getName = function() {
1452 return this._name;
1453 };
1454
1455 Widget.prototype.onToggle = function(sender, e) {
1456 if (e.toggleId == "toggle"+this._name ){
1457 this.toggle();
1458 }
1459 };
1460
1461 Widget.prototype.prepareRessourceUrl = function (artistname) {
1462 // should be implemented by the Widget
1463 };
1464
1465 Widget.prototype.isVisible = function() {
1466 return (GM_getValue('visible'+this._name+'', 1) == 1);
1467 };
1468
1469 Widget.prototype.isEnabled = function() {
1470 return (GM_getValue('enable'+this._name+'', 1) == 1);
1471 };
1472
1473 Widget.prototype.Enable = function() {
1474 GM_setValue('enable'+this._name+'', 1);
1475 };
1476
1477 Widget.prototype.Disable = function() {
1478 GM_setValue('enable'+this._name+'', 0);
1479 };
1480
1481 Widget.prototype.toggle = function() {
1482 if (this.isVisible()){
1483 this.hide();
1484 $("toggle"+this._name).innerHTML = "<img src=\""+TOGGLE_IMG_PLUS +"\" border=0>";
1485 } else {
1486 this.show();
1487 $("toggle"+this._name).innerHTML = "<img src=\""+TOGGLE_IMG_MINUS +"\" border=0>";
1488 }
1489 };
1490
1491 Widget.prototype.hide = function (){
1492 $(this._name).style.display = 'none';
1493 GM_setValue('visible'+this._name+'', 0);
1494 };
1495
1496 Widget.prototype.show = function (){
1497 $(this._name).style.display = 'block';
1498 GM_setValue('visible'+this._name+'', 1);
1499 this.render();
1500 };
1501
1502 Widget.prototype.load = function (){
1503 this._state = LOADING;
1504 // implement data request here
1505 };
1506
1507 Widget.prototype.onArtistChange = function(sender, e) {
1508 if(sender != this._name && this._currentArtist != e.artistname) {
1509 this._state = LOADING;
1510 this.render();
1511 this._currentArtist = e.artistname;
1512 if (this._ressource != null) {
1513 var tempRessource = {key: this._ressource.key, url: this._ressource.url, save: this._ressource.save, artistname: e.artistname};
1514 tempRessource.url = this.prepareRessourceUrl(e.artistname);
1515 //var cachedContent = cache.getItem("cache_widget_" + this._name + "_" + this._currentArtist);
1516 var cachedContent = null;
1517 if (cachedContent == null){
1518 //console.(this._name + " contentUnCached for " + this._currentArtist);
1519 RessourceLoader.loadRessource(tempRessource);
1520 }
1521 else {
1522 //console.(this._name + " contentCached for " + this._currentArtist);
1523 this._state = CACHED;
1524 this._scrapedObject = cachedContent;
1525 this.createNodeFromScrapedContent();
1526 this.render();
1527 }
1528 }
1529 else {
1530 this._state = LOADED;
1531 this._scrapedObject = cachedContent;
1532 this.createNodeFromScrapedContent();
1533 this.render();
1534 }
1535 }
1536 };
1537
1538 Widget.prototype.onRessourceLoaded = function (sender, e){
1539 if (this._ressource != null && this._ressource.key == e.ressource.key && this._currentArtist == e.ressource.artistname) {
1540 //alert(this._name + " contentLoaded for " + this._currentArtist);
1541 this._state = LOADED;
1542 this._content = e.content;
1543 this._scrapedObject = this.scraperImpl();
1544 //cache.setItem("cache_widget_" + this._name + "_" + this._currentArtist, this._scrapedObject);
1545 this.createNodeFromScrapedContent();
1546 this.render();
1547 }
1548 };
1549
1550
1551 Widget.prototype.render = function (){
1552 if (this._state == CACHED || this._state == LOADED) {
1553 if ($(this._name).hasChildNodes()){
1554 //console.(this._name + 'has Child node, state' + this._state);
1555 $(this._name).replaceChild(this._contentNode, $(this._name).firstChild);
1556 }
1557 else $(this._name).appendChild(this._contentNode);
1558 }
1559 if (this._state == LOADING) {
1560 $(this._name).innerHTML = "<img src=\""+ SPINNER_IMG +"\" border=0>";
1561 }
1562 if (this._state == FAILED) {
1563 $(this._name).innerHTML = "n/a";
1564 }
1565 };
1566
1567 Widget.prototype.createNodeFromScrapedContent = function (){
1568 var node = document.createElement("div");
1569 node.innerHTML = this._scrapedObject;
1570 this._contentNode = node;
1571 };
1572
1573 // end of class Widget
1574
1575 function a(artist){
1576 EventNotifier.send("global", "onArtistChange", {artistname: artist, albumname: null });
1577 }
1578
1579
1580 function addWidgets(artist){
1581
1582 /*
1583 * Widget for OiNKPlus container
1584 */
1585 OiNKPlusRessource = null;
1586 wOiNKPlus = new Widget("OiNKPlus", OiNKPlusRessource, TOGGLEABLE );
1587 wOiNKPlus.createNodeFromScrapedContent = function () {
1588 tempContent = BASIC_LAYOUT;
1589 var node = document.createElement("div");
1590 node.innerHTML = tempContent;
1591 this._contentNode = node;
1592 };
1593 wOiNKPlus.onArtistChange = function () {
1594 // overwritten to do nothing
1595 };
1596 wOiNKPlus.createNodeFromScrapedContent();
1597 wOiNKPlus._state = LOADED;
1598 wOiNKPlus.render();
1599 // Widget for OiNKPlus container
1600
1601 /*
1602 * Widget for Artist Name
1603 */
1604 ArtistNameRessource = null;
1605 wArtistName = new Widget("ArtistName", ArtistNameRessource, NON_TOGGLEABLE );
1606 wArtistName.createNodeFromScrapedContent = function () {
1607 var myLink = document.createElement('a');
1608 myLink.innerHTML = this._currentArtist;
1609 myLink.id = this._currentArtist;
1610 myLink.href = '#';
1611 myLink.addEventListener("click", function (e) {EventNotifier.send("LastFMSimilar", "onArtistChange", {artistname: this.id, albumname: null }); e.preventDefault();} , false);
1612 this._contentNode = myLink;
1613 };
1614 wArtistName.onArtistChange = function (sender, e) {
1615 if(sender == "global") {
1616 this._currentArtist = e.artistname;
1617 this.createNodeFromScrapedContent();
1618 this._state = LOADED;
1619 this.render();
1620 }
1621 };
1622 wArtistName._currentArtist = artist;
1623 wArtistName.createNodeFromScrapedContent();
1624 wArtistName._state = LOADED;
1625 wArtistName.render();
1626
1627 // Widget for Artist Name
1628
1629 /*
1630 * Widget for Artist Title and More Link
1631 */
1632 ArtistTitleRessource = null;
1633 wArtistTitle = new Widget("ArtistTitle", ArtistTitleRessource, NON_TOGGLEABLE );
1634 wArtistTitle.createNodeFromScrapedContent = function () {
1635 // TODO encodeURIComponent
1636 //var tempContent = '<h1>' + this._currentArtist + '</h1>';
1637 artistHeadline = document.createElement("h2");
1638 artistHeadline.className = "artistHeadline";
1639 var myArtistLink = document.createElement('a');
1640 myArtistLink.innerHTML = this._currentArtist + " ";
1641 myArtistLink.href = MORE_LINK.replace(/%s/, this._currentArtist.replace(/&/g, '%26'));
1642 artistHeadline.appendChild(myArtistLink);
1643 var myLink = document.createElement('a');
1644 myLink.innerHTML = "<font size=-2>[ load similar ]</font>";
1645 myLink.id = this._currentArtist;
1646 myLink.href = '#';
1647 myLink.className = "explore";
1648 myLink.addEventListener("click", function (e) {EventNotifier.send("global", "onArtistChange", {artistname: this.id, albumname: null }); e.preventDefault();} , false);
1649 artistHeadline.appendChild(myLink);
1650 var node = document.createElement("div");
1651 node.appendChild(artistHeadline);
1652 this._contentNode = node;
1653 };
1654 // Widget for Artist Title and More Link
1655
1656 /*
1657 * Widget for artist search field
1658 */
1659 ArtistSearchFieldRessource = null;
1660 wArtistSearchField = new Widget("ArtistSearchField", ArtistSearchFieldRessource, NON_TOGGLEABLE);
1661 wArtistSearchField.createNodeFromScrapedContent = function () {
1662 logmsg('ArtistSearchField');
1663 var searchField = document.createElement("input");
1664 searchField.value = 'search for artist';
1665 var baseStyle = 'background:#FFFFFF url('+SEARCH_IMG+') no-repeat scroll left center; border:1px solid #7E1325; font-size:11px;padding:1px 4px 2px 16px;width:110px;';
1666 searchField.setAttribute('style', baseStyle + 'color:grey');
1667 searchField.addEventListener("click", function (e) { if (this.value == 'search for artist') {this.value = ''; searchField.setAttribute('style',baseStyle);}}, false);
1668 searchField.addEventListener("keypress", function (e) { if (e.keyCode == 13) EventNotifier.send("global", "onArtistChange", {artistname: this.value.replace(/^\s+|\s+$/g,""), albumname: null })}, false);
1669 var node = document.createElement("div");
1670 node.style.textAlign = "right";
1671 node.appendChild(searchField);
1672 this._contentNode = node;
1673
1674 };
1675 wArtistSearchField.onArtistChange(null, {artistname: null, albumname: null });
1676 // Widget for artist search field
1677 /*
1678 * Widget for Last.fm Artist Image
1679 */
1680 LFMArtistInfoRessource = {key: "LastFMArtistInfo", url: LASTFM_INFO_URL, save: false};
1681
1682 LFMArtistPageRessource = {key: "LastFMArtistPage", url: LASTFM_ARTIST_URL, save: false};
1683 wLFMArtistImage = new Widget("ArtistImage", LFMArtistInfoRessource, NON_TOGGLEABLE);
1684 wLFMArtistImage.prepareRessourceUrl = function (artistname) {
1685 return this._ressource.url.replace(/%s/, artistname.replace(/&/g, '%26').replace(/\//g, '%2F').replace(/\?/,"%3F"));
1686 };
1687 wLFMArtistImage.scraperImpl = function () {
1688 return "<img src=\"" + buildDataScheme(this._content, 'data:image/jpeg;base64,') + "\" border=1>";
1689 };
1690 wLFMArtistImage.onRessourceLoaded = function (sender, e){
1691 if (this._ressource != null && e.ressource.key == 'LastFMArtistInfo' && this._currentArtist == e.ressource.artistname) {
1692 //var imgUrl = e.content.extract("<div class=\"imgHolder\">","</div>").replace(/.*src=\"(.*)\" alt=.*/,'$1');
1693 var parser = new DOMParser();
1694 result = parser.parseFromString(e.content, "application/xml");
1695 var entries = result.getElementsByTagName('image');
1696 var arr = [];
1697 for (var i = 0; i < entries.length; i++)
1698 if (entries[i].getAttribute("size") == "large" ) {
1699 arr.push(entries[i].textContent);
1700 }
1701
1702 var imgUrl = arr[0];
1703 // Subsequent Ressource
1704 if (imgUrl.search(/^http/) >= 0) {
1705 LFMArtistImageRessource = {key: "LastFMArtistImage", url: imgUrl, save: false, artistname: e.ressource.artistname};
1706 RessourceLoader.loadRessource(LFMArtistImageRessource, TYPE_BINARY);
1707 } else {
1708 this._state = FAILED;
1709 this.render();
1710 }
1711 }
1712 if (this._ressource != null && e.ressource.key == 'LastFMArtistImage' && this._currentArtist == e.ressource.artistname) {
1713 this._state = LOADED;
1714 this._content = e.content;
1715 this._scrapedObject = this.scraperImpl();
1716 //cache.setItem("cache_widget_" + this._name + "_" + this._currentArtist, this._scrapedObject);
1717 this.createNodeFromScrapedContent();
1718 this.render();
1719 }
1720
1721 };
1722 // Widget for Last.fm Artist Image
1723
1724 /*
1725 * Widget for Last.fm Abstracts
1726 */
1727 wLFMBio = new Widget("LastFMBio", LFMArtistInfoRessource, TOGGLEABLE);
1728 wLFMBio.prepareRessourceUrl = function (artistname) {
1729 return this._ressource.url.replace(/%s/, artistname.replace(/&/g, '%26').replace(/\//g, '%2F').replace(/\?/,"%3F"));
1730 };
1731 wLFMBio.scraperImpl = function () {
1732 var parser = new DOMParser();
1733 result = parser.parseFromString(this._content, "application/xml");
1734 var entries = result.getElementsByTagName('summary');
1735 var arr = [];
1736 for (var i = 0; i < entries.length; i++)
1737 arr.push(entries[i].textContent);
1738
1739 var summary = arr[0];
1740 cleanedBio = basicClean(summary);
1741 return cleanedBio;
1742 };
1743 wLFMBio.createNodeFromScrapedContent = function (){
1744 var node = document.createElement("div");
1745 node.innerHTML = this._scrapedObject;
1746 encodedArtistName = this._currentArtist.replace(/&/g, '%252526').replace(/\//g, '%25252F').replace(/\?/,"%25253F");
1747 textContent = node.textContent;
1748 var maxLength = 450;
1749 if (textContent.length > MAX_BIO_LENGTH){
1750 logmsg('bio longer than maximum length');
1751 textContent = textContent.replace(/\(read more\)/, "");
1752 sentences = textContent.split(".");
1753 var out = "";
1754 logmsg('got ' + sentences.length + ' sentences');
1755 for (i = 0; out.length < MAX_BIO_LENGTH && i < sentences.length; i++){
1756 out += sentences[i] + ".";
1757 }
1758 //textContent = out + new String(" (read more)");
1759 textContent = out;
1760 }
1761 //textContent = textContent.replace(/read more/, LASTFM_BIO_LINK.replace(/%s/, encodedArtistName));
1762 node.innerHTML = textContent;
1763 if (textContent.length > MAX_BIO_LENGTH) {
1764 var readmorelink = document.createElement('a');
1765 readmorelink.innerHTML = "read more";
1766 readmorelink.href= '#';
1767 readmorelink.id = this._currentArtist;
1768 readmorelink.addEventListener("click", function (e) { EventNotifier.send("LastFMBio", "onReadMore", {artistname: this.id, albumname: null }); e.preventDefault();}, false);
1769 node.appendChild(document.createTextNode(" ("));
1770 node.appendChild(readmorelink);
1771 node.appendChild(document.createTextNode(")"));
1772 node.appendChild(document.createElement("br"));
1773 }
1774 this._contentNode = node;
1775 };
1776 wLFMBio.scraperImplBio = function () {
1777 var parser = new DOMParser();
1778 result = parser.parseFromString(this._content, "application/xml");
1779 var entries = result.getElementsByTagName('content');
1780 var arr = [];
1781 for (var i = 0; i < entries.length; i++)
1782 arr.push(entries[i].textContent);
1783
1784 var bio = arr[0];
1785 cleanedBio = basicClean(bio);
1786 return cleanedBio;
1787 };
1788 wLFMBio.onRessourceLoaded = function (sender, e){
1789 if (this._ressource != null && this._ressource.key == e.ressource.key && this._currentArtist == e.ressource.artistname) {
1790 this._state = LOADED;
1791 this._content = e.content;
1792 this._scrapedObject = this.scraperImpl();
1793 this.createNodeFromScrapedContent();
1794 this.render();
1795 }
1796 if (this._ressource != null && e.ressource.key == "LastFMArtistBio" ) {
1797
1798 }
1799 };
1800 wLFMBio.onReadMore = function (sender, e){
1801 this._state = LOADED;
1802 this._scrapedObject = this.scraperImplBio();
1803 //this.createNodeFromScrapedContent();
1804 var node = document.createElement("div");
1805 node.innerHTML = this._scrapedObject.replace(/<br \/>/g, "%%br%%");
1806 logmsg(node.textContent);
1807 textContent = node.textContent;
1808 node.innerHTML = textContent.replace(/%%br%%/g, "<br />");
1809 this._contentNode = node;
1810 this.render();
1811 };
1812
1813
1814 // Widget for Last.fm Abstracts
1815
1816 /*
1817 * Widget for Last.fm Tags PROPOSED
1818 *
1819 LFMTagsWebserviceRessource = {key: "LastFMTagsWebservice", url: LASTFM_TAGS_URL, save: false};
1820 wLFMTags = new Widget("LastFMTags", LFMArtistInfoRessource, NON_TOGGLEABLE);
1821 wLFMTags.prepareRessourceUrl = function (artistname) {
1822 return this._ressource.url.replace(/%s/, artistname.replace(/&/g, '%26').replace(/\//g, '%2F').replace(/\?/,"%3F"));
1823 };
1824 wLFMTags.scraperImpl = function () {
1825 var parser = new DOMParser();
1826 result = parser.parseFromString(this._content, "application/xml");
1827 var entries = result.getElementsByTagName('tag');
1828 var arr = [];
1829 for (var i = 0;i < MAX_TAGS && i < entries.length; i++)
1830 arr.push(entries[i].getElementsByTagName('name')[0].textContent);
1831 var text = arr.join(', ') + '';
1832 return text + 'test';
1833 };
1834 // Widget for Last.fm Tags
1835 */
1836 /*
1837 * Widget for Last.fm Tags
1838 */
1839 LFMTagsWebserviceRessource = {key: "LastFMTagsWebservice", url: LASTFM_TAGS_URL, save: false};
1840 wLFMTags = new Widget("LastFMTags", LFMTagsWebserviceRessource, NON_TOGGLEABLE);
1841 wLFMTags.prepareRessourceUrl = function (artistname) {
1842 return this._ressource.url.replace(/%s/, artistname.replace(/&/g, '%26').replace(/\//g, '%252F').replace(/\?/,"%3F"));
1843 };
1844 wLFMTags.scraperImpl = function () {
1845 var parser = new DOMParser();
1846 result = parser.parseFromString(this._content, "application/xml");
1847 var entries = result.getElementsByTagName('tag');
1848 var arr = [];
1849 for (var i = 0;i < MAX_TAGS && i < entries.length; i++)
1850 arr.push(entries[i].getElementsByTagName('name')[0].textContent);
1851 var text = arr.join(', ') + '';
1852 return text;
1853 };
1854 // Widget for Last.fm Tags
1855
1856 /*
1857 * Widget for Last.fm Similar Artists
1858 */
1859
1860 LFMSimilarWebserviceRessource = {key: "LastFMSimilarWebservice", url: LASTFM_SIMILAR_URL, save: false};
1861 wLFMSimilar = new Widget("LastFMSimilar", LFMSimilarWebserviceRessource, TOGGLEABLE);
1862 wLFMSimilar.prepareRessourceUrl = function (artistname) {
1863 return this._ressource.url.replace(/%s/, artistname.replace(/&/g, '%26').replace(/\//g, '%252F').replace(/\?/,"%3F"));
1864 };
1865 wLFMSimilar.scraperImpl = function () {
1866 var parser = new DOMParser();
1867 result = parser.parseFromString(this._content, "application/xml");
1868 var entries = result.getElementsByTagName('artist');
1869 var arr = [];
1870
1871 // ADDED V28
1872 var HexArray = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e' ,'f'];
1873 // /ADDED V28
1874
1875 for (var i = 0; i < MAX_SIMILAR_ARTISTS && i < entries.length; i++) {
1876
1877 // ADDED V28
1878 if (SIMILAR_ARTISTS_COLOR) {
1879 var SimilarMatch = parseFloat(entries[i].getElementsByTagName('match')[0].textContent);
1880 var SimilarArtistNameRedDecimal = 255;
1881 var SimilarArtistNameGreenDecimal = 255;
1882 if (SimilarMatch > 0.5) {
1883 var SimilarArtistNameRedDecimal = ((1 - SimilarMatch) * 510).toFixed();
1884 } else if (SimilarMatch < 0.5) {
1885 var SimilarArtistNameGreenDecimal = (SimilarMatch * 510).toFixed();
1886 }
1887 var SimilarArtistNameColor = (HexArray[(SimilarArtistNameRedDecimal / 16) - (SimilarArtistNameRedDecimal % 16 / 16)] + HexArray[SimilarArtistNameRedDecimal % 16]) + (HexArray[(SimilarArtistNameGreenDecimal / 16) - (SimilarArtistNameGreenDecimal % 16 / 16)] + HexArray[SimilarArtistNameGreenDecimal % 16]) + '00';
1888 arr.push('<font color="#' + SimilarArtistNameColor + '" title="' + SimilarMatch + '">' + entries[i].getElementsByTagName('name')[0].textContent + '</font>');
1889 } else {
1890 // /ADDED V28
1891
1892 arr.push(entries[i].getElementsByTagName('name')[0].textContent);
1893
1894 // ADDED V28
1895 }
1896 // /ADDED V28
1897
1898 }
1899 return arr;
1900 };
1901 wLFMSimilar.createNodeFromScrapedContent = function () {
1902 var node = document.createElement("div");
1903 for (var i = 0; i < this._scrapedObject.length; i++) {
1904 var artistname = this._scrapedObject[i];
1905 var artistlink = document.createElement('a');
1906 artistlink.innerHTML = artistname;
1907 artistlink.href= '#';
1908 artistlink.id = artistname;
1909 artistlink.addEventListener("click", function (e) { EventNotifier.send("LastFMSimilar", "onArtistChange", {artistname: this.id, albumname: null }); e.preventDefault();}, false);
1910 node.appendChild(artistlink);
1911 node.appendChild(document.createElement("br"));
1912 }
1913 this._contentNode = node;
1914 };
1915
1916 // Widget for Last.fm Similar
1917
1918 /*
1919 * Widget for (simple) Browsing History
1920 */
1921
1922 BrowsingHistoryRessource = null;
1923 wBrowsingHistory = new Widget("History", BrowsingHistoryRessource, TOGGLEABLE);
1924 wBrowsingHistory.onArtistChange = function(sender, e) {
1925 if(sender == "global") {
1926 this._currentArtist = e.artistname;
1927 this._state = LOADED;
1928 this.createNodeFromScrapedContent();
1929 this.render();
1930 }
1931 };
1932 wBrowsingHistory.createNodeFromScrapedContent = function () {
1933 // init
1934 if(this._scrapedObject == null) {
1935 logmsg('scraped Object null');
1936 this._scrapedObject = new Array();
1937 }
1938 logmsg('got artist: ' + this._currentArtist);
1939 var found = false;
1940 this._scrapedObject.forEach(function (o) { if (o == this._currentArtist) {found = true;}}, this);
1941 if (!found)
1942 this._scrapedObject.push(this._currentArtist);
1943 var node = document.createElement("div");
1944 for (var i = 0; i < this._scrapedObject.length; i++) {
1945 var artistname = this._scrapedObject[i];
1946 var artistlink = document.createElement('a');
1947 artistlink.innerHTML = artistname;
1948 artistlink.href= '#';
1949 artistlink.id = artistname;
1950 artistlink.addEventListener("click", function (e) { EventNotifier.send("global", "onArtistChange", {artistname: this.id, albumname: null }); e.preventDefault();}, false);
1951 node.appendChild(artistlink);
1952 node.appendChild(document.createElement("br"));
1953 }
1954 this._contentNode = node;
1955 this._cachedContent = this._scrapedObject;
1956 };
1957
1958 // Widget for Browsing History
1959
1960 /*
1961 * Widget for External Links
1962 */
1963 ExternalLinksRessource = null;
1964 wExternalLinks = new Widget("ExternalLinks", ExternalLinksRessource, NON_TOGGLEABLE);
1965 wExternalLinks.prepareRessourceUrl = function (artistname) {
1966 // nothing to do
1967 };
1968 wExternalLinks.createNodeFromScrapedContent = function () {
1969 var arr = [];
1970 var artist = this._currentArtist;
1971 arr.push('<u>Streaming</u><br>');
1972 arr.push(this.getExternalLink(artist, SPOTIFY_LINK));
1973 arr.push(this.getExternalLink(artist, SOUNDCLOUD_LINK));
1974 arr.push(this.getExternalLink(artist, TIDAL_LINK).replace(/%26/g, '%2526'));
1975// arr.push(this.getExternalLink(artist, WIMP_LINK).replace(/%26/g, '%2526'));
1976// arr.push(this.getExternalLink(artist, WIMPDE_LINK));
1977// arr.push(this.getExternalLink(artist, WIMPDK_LINK));
1978// arr.push(this.getExternalLink(artist, WIMPNO_LINK));
1979// arr.push(this.getExternalLink(artist, WIMPPL_LINK));
1980// arr.push(this.getExternalLink(artist, WIMPSE_LINK));
1981 arr.push(this.getExternalLink(artist, PANDORA_LINK).replace(/%26/g, '%252526').replace(/%2F/g, '%252F'));
1982 arr.push(this.getExternalLink(artist, PUREVOLUME_LINK).replace(/%26/g, '%2526'));
1983 arr.push(SITES_SPACING + '<br><u>Webstores</u><br>');
1984 arr.push(this.getExternalLink(artist, BANDCAMP_LINK));
1985 arr.push(this.getExternalLink(artist, GOOGLEPLAY_LINK));
1986 arr.push(this.getExternalLink(artist, QOBUZ_LINK).replace(/%26/g, '%2526'));
1987 arr.push(this.getExternalLink(artist, ITUNES_LINK));
1988 arr.push(this.getExternalLink(artist, ITUNESGOOGLE_LINK));
1989 arr.push(this.getExternalLink(artist, BEATPORT_LINK).replace(/%26/g, '%2526'));
1990 arr.push(this.getExternalLink(artist, BLEEP_LINK));
1991 arr.push(this.getExternalLink(artist, BOOMKAT_LINK));
1992 arr.push(this.getExternalLink(artist, DIGITALTUNES_LINK));
1993 arr.push(this.getExternalLink(artist, JUNODOWNLOAD_LINK));
1994 arr.push(this.getExternalLink(artist, MAGNATUNE_LINK));
1995 arr.push(this.getExternalLink(artist, WHATPEOPLEPLAY_LINK).replace(/%26/g, '%2526'));
1996 arr.push(SITES_SPACING + '<br><u>Music Databases</u><br>');
1997 arr.push(this.getExternalLink(artist, LASTFM_LINK));
1998 arr.push(this.getExternalLink(artist, ALLMUSIC_LINK));
1999 arr.push(this.getExternalLink(artist, DISCOGS_LINK));
2000 arr.push(this.getExternalLink(artist, MUSICBRAINZ_LINK));
2001 arr.push(this.getExternalLink(artist, FREEDB_LINK));
2002 arr.push(this.getExternalLink(artist, RATEYOURMUSIC_LINK).replace(/%26/g, '%2526'));
2003 arr.push(this.getExternalLink(artist, REVERBNATION_LINK));
2004 arr.push(SITES_SPACING + '<br><u>Social Media</u><br>');
2005 arr.push(this.getExternalLink(artist, FACEBOOK_LINK));
2006 arr.push(this.getExternalLink(artist, GOOGLEPLUS_LINK));
2007 arr.push(this.getExternalLink(artist, MYSPACE_LINK));
2008 arr.push(this.getExternalLink(artist, TWITTER_LINK));
2009 arr.push(this.getExternalLink(artist, TUMBLR_LINK));
2010 arr.push(this.getExternalLink(artist, YOUTUBE_LINK));
2011 arr.push(this.getExternalLink(artist, VIMEO_LINK));
2012 arr.push(SITES_SPACING + '<br><u>Music Blogs</u><br>');
2013 arr.push(this.getExternalLink(artist, HYPEMACHINE_LINK));
2014 arr.push(this.getExternalLink(artist, SCNLOG_LINK));
2015 arr.push(SITES_SPACING + '<br><u>CD Stores</u><br>');
2016 arr.push(this.getExternalLink(artist, AMAZON_LINK));
2017// arr.push(this.getExternalLink(artist, AMAZONCA_LINK));
2018 arr.push(this.getExternalLink(artist, AMAZONUK_LINK));
2019// arr.push(this.getExternalLink(artist, AMAZONFR_LINK));
2020// arr.push(this.getExternalLink(artist, AMAZONDE_LINK));
2021// arr.push(this.getExternalLink(artist, AMAZONES_LINK));
2022// arr.push(this.getExternalLink(artist, AMAZONIT_LINK));
2023 arr.push(this.getExternalLink(artist, AMAZONJP_LINK));
2024// arr.push(this.getExternalLink(artist, AMAZONCN_LINK));
2025// arr.push(this.getExternalLink(artist, AMAZONAU_LINK));
2026// arr.push(this.getExternalLink(artist, AMAZONBR_LINK));
2027// arr.push(this.getExternalLink(artist, AMAZONMX_LINK));
2028 arr.push(this.getExternalLink(artist, EBAY_LINK));
2029 arr.push(this.getExternalLink(artist, GEMM_LINK).replace(/%26/g, '%2526'));
2030 arr.push(this.getExternalLink(artist, MUSICSTACK_LINK));
2031 arr.push(this.getExternalLink(artist, CDANDLP_LINK));
2032 arr.push(this.getExternalLink(artist, BIGCARTEL_LINK));
2033 arr.push(SITES_SPACING + '<br><u>Other</u><br>');
2034 arr.push(this.getExternalLink(artist, GOOGLE_LINK));
2035 arr.push(this.getExternalLink(artist, WIKIPEDIA_LINK));
2036 var node = document.createElement("div");
2037 node.innerHTML = arr.join('') + '';
2038 this._contentNode = node;
2039 };
2040
2041 wExternalLinks.getExternalLink = function (artist, mylink) {
2042 return mylink.replace(/%s/, encodeURIComponent(artist.replace(/\?/,"%3F")));
2043 };
2044
2045 /*
2046 * Widget for Hydra Links
2047 */
2048 HydraLinksRessource = null;
2049 wHydraLinks = new Widget("HydraLinks", HydraLinksRessource, NON_TOGGLEABLE);
2050 wHydraLinks.prepareRessourceUrl = function (artistname) {
2051 // nothing to do
2052 };
2053 wHydraLinks.createNodeFromScrapedContent = function () {
2054 var arr = [];
2055 var artist = this._currentArtist;
2056 SITES = site_functions;
2057 count = 0;
2058 for (var sitename in SITES){
2059
2060 mySITE = SITES[sitename];
2061 searchurl = mySITE["searchurl"];
2062 name = mySITE["name"];
2063 icon = mySITE["icon"];
2064 if (searchurl != null) {
2065 count = count +1;
2066 arr.push(this.getExternalLink(artist, searchurl, name,icon));
2067 //if (count % 12 == 0) arr.push('<br>');
2068 }
2069 }
2070
2071 var node = document.createElement("div");
2072 node.innerHTML = arr.join('') + '';
2073 this._contentNode = node;
2074 };
2075
2076 wHydraLinks.getExternalLink = function (artist, mylink, name, icon) {
2077 return '<a href="' + mylink.replace(/%s/, encodeURIComponent(artist.replace(/\?/,"%3F"))) +'" target="_blank"><img src=\"' + icon + '\" style=\"width: ' + ICON_SIZE + 'px; height: ' + ICON_SIZE + 'px; border-width: 0px; ' + ALL_PADDING + ';\" title=\"' + name + '\"></a>';
2078 };
2079 // Widget for HydraLinks
2080
2081 /*
2082 * Widget for Update Notfication
2083 */
2084 UpdateServiceRessource = {key: "UpdateService", url: RELEASE_INFORMATION_URL, save: false};
2085 wUpdateNotify = new Widget("UpdateNotify", UpdateServiceRessource, NON_TOGGLEABLE);
2086 wUpdateNotify.prepareRessourceUrl = function (artistname) {
2087 // avoid caching
2088 var rnd = Math.random();
2089 return this._ressource.url + "?rnd=" + rnd + "&installTime=" + installTime;
2090 };
2091 wUpdateNotify.onArtistChange = function(sender, e) {
2092 this._state = LOADING;
2093 this.render();
2094 this._currentArtist = null;
2095 var tempRessource = {key: this._ressource.key, url: this._ressource.url, save: this._ressource.save, artistname: null};
2096 tempRessource.url = this.prepareRessourceUrl(null);
2097 if ( GM_getValue('latestversion', 0) > VERSION) {
2098 logmsg('newer latest version available');
2099 this._state = LOADED;
2100 this._scrapedObject = UPDATE_MESSAGE.replace(/%s/, GM_getValue('latestversionurl'));
2101 this.createNodeFromScrapedContent();
2102 this.render();
2103 }
2104 else {
2105 logmsg('no newer vesion available');
2106 this._state = LOADED;
2107 this._scrapedObject = "";
2108 this.createNodeFromScrapedContent();
2109 this.render();
2110 }
2111 var date = new Date();
2112 currentTime = Math.round(date.getTime() / (1000 * 60 * 60));
2113 lastcheckTime = GM_getValue('lastcheck', 0);
2114 if ((currentTime - lastcheckTime) > UPDATE_INTERVAL_HOURS){
2115 logmsg('loading UpdateNotify Ressource');
2116 RessourceLoader.loadRessource(tempRessource);
2117 GM_setValue('lastcheck',currentTime);
2118 }
2119 logmsg('cT: ' + currentTime);
2120 logmsg('lastcT: ' + lastcheckTime);
2121 logmsg((currentTime - lastcheckTime) + " > " + UPDATE_INTERVAL_HOURS);
2122 };
2123 wUpdateNotify.scraperImpl = function () {
2124 var parser = new DOMParser();
2125 result = parser.parseFromString(this._content, "application/xml");
2126 var date = new Date();
2127 currentTime = Math.round(date.getTime() / (1000 * 60 * 60));
2128 GM_setValue('lastcheck',currentTime);
2129 var releases = result.getElementsByTagName('release');
2130 var latest_version = releases[0].getAttribute('version');
2131 var latest_version_url = releases[0].getElementsByTagName('url')[0].textContent;
2132 GM_setValue('latestversion', latest_version);
2133 GM_setValue('latestversionurl', latest_version_url);
2134 logmsg('latesversion: ' + latest_version);
2135 if ( latest_version > VERSION) {
2136 logmsg('received information of newer version');
2137 return UPDATE_MESSAGE.replace(/%s/, GM_getValue('latestversionurl'));
2138 }
2139 logmsg('received information of up to date version');
2140 return "";
2141 };
2142 // Widget for Update Notification
2143
2144 }
2145
2146 // helper functions
2147
2148 function $() {
2149 var elements = new Array();
2150 for (var i = 0; i < arguments.length; i++) {
2151 var element = arguments[i];
2152 if (typeof element == 'string')
2153 element = document.getElementById(element);
2154 if (arguments.length == 1)
2155 return element;
2156 elements.push(element);
2157 }
2158 return elements;
2159 }
2160
2161
2162 function basicClean(myString) {
2163
2164 do {
2165 oldstring = myString;
2166 //var regexp0=new RegExp("<(object)[^>]*>.*<\/(object)>","i");
2167 var regexp0=new RegExp("<script[^>]*>[^<]*<\/script>","gi");
2168 var regexp1=new RegExp("<span class=\"wiki_continued\".*","i");
2169 var regexp2=new RegExp("<object[^>]*>.*<\/object>","i");
2170 //var regexp1=new RegExp("<(span).*?<\/(span)>","i");
2171 //regexp2 = new RegExp('<script.*?.*?</script>',"gi");
2172 //myString = myString.replace(regexp0,"");
2173 myString = myString.replace(regexp0,"");
2174 myString = myString.replace(regexp1,"");
2175 //myString = myString.replace(regexp1,"");
2176 myString = myString.replace(regexp2,"");
2177 } while (oldstring != myString);
2178 return myString;
2179 }
2180
2181
2182 function translateToBinaryString(text){
2183 var out='';
2184 for(i=0;i<text.length;i++){
2185 //*bugfix* by Marcus Granado 2006 [http://mgran.blogspot.com] adapted by Thomas Belot
2186 out+=String.fromCharCode(text.charCodeAt(i) & 0xff);
2187 }
2188 return out;
2189 }
2190
2191 function buildDataScheme(responseText, dataScheme){
2192 //translating the text to a valid binary stream
2193 var stream = translateToBinaryString(responseText);
2194 //translating the binaryStream to Base64
2195 dataScheme+=window.btoa(stream);
2196 return dataScheme
2197 }
2198
2199 // aaBBBcccDDDee.extract('BB','DD') returns BBBcccDD
2200 String.prototype.extract = function(startString, endString){
2201 var start = this.indexOf(startString);
2202 if (start == -1) {
2203 return '';
2204 }
2205 var choppedContent = this.substr(start);
2206 var end = choppedContent.indexOf(endString, startString.length);
2207 if (end == -1) {
2208 return '';
2209 }
2210 var extractedContent = choppedContent.substring(0, end+endString.length);
2211 if (extractedContent.length > 0) return extractedContent
2212 else return '';
2213 }
2214
2215 // aaBBBcccDDDee.extractInner('BB','DD') returns Bccc
2216 String.prototype.extractInner = function(startString, endString){
2217 var outerContent = this.extract(startString, endString);
2218 if (outerContent != '')
2219 var innerContent = outerContent.substring(startString.length, outerContent.length-endString.length);
2220 else return '';
2221 return innerContent;
2222 }
2223
2224 function getFlashContainerCode(width, height, movieUrl){
2225 return FLASH_CONTAINER.replace('%WIDTH', width).replace('%HEIGHT', height).replace('%MOVIE', movieUrl);
2226 }
2227
2228 // Platypus functions and other html modification functions
2229
2230 function notifyUpdate(){
2231 $("updatenotify").innerHTML = UPDATE_MESSAGE.replace(/%s/, GM_getValue('latestversionurl'));;
2232 }
2233
2234 function modify_single_url(doc, match_re, replace_string, node) {
2235 if (node.href)
2236 node.href = node.href.replace(match_re, replace_string);
2237 }
2238
2239 function do_modify_url_it(doc, node, match_re, replace_string, global_flag) {
2240 match_re = new RegExp(match_re);
2241 if (global_flag) {
2242 var allurls = doc.getElementsByTagName('A');
2243 for(var i = 0, url; url = allurls[i]; i++)
2244 modify_single_url(doc, match_re, replace_string, url);
2245 }
2246 else modify_single_url(doc, match_re, replace_string, node);
2247 }
2248
2249 function insertAfter(newNode, target) {
2250 var parent = target.parentNode;
2251 var refChild = target.nextSibling;
2252 if(refChild != null)
2253 parent.insertBefore(newNode, refChild);
2254 else parent.appendChild(newNode);
2255 }
2256
2257 function find_table(){
2258 var tds = document.getElementsByTagName("td");
2259 for (var i = 0; i < tds.length; i++)
2260 if (tds[i].className == "rowhead")
2261 return tds[i].parentNode.parentNode;
2262 }
2263
2264 function find_it(doc, node, match_re, replace_string) {
2265 match_re = new RegExp(match_re);
2266 if( node != null)
2267 return node.innerHTML.replace(match_re, replace_string);
2268 else return null;
2269 }
2270
2271 function addGlobalStyle(css) {
2272 var head, style;
2273 head = document.getElementsByTagName('head')[0];
2274 if (!head)
2275 return;
2276 style = document.createElement('style');
2277 style.type = 'text/css';
2278 style.innerHTML = css;
2279 head.appendChild(style);
2280 }
2281
2282
2283 var DEBUG = false;
2284 function logmsg(message) {
2285 if (DEBUG) {
2286 console.log(message);
2287 }
2288 }
2289
2290 function findMatchingSite(){
2291 SITES = site_functions;
2292 Finish: for (var sitename in SITES){
2293 logmsg(sitename);
2294 mySITE = SITES[sitename];
2295 url_res = mySITE["url"];
2296 var found = false;
2297 for (var elemI in url_res){
2298 var site_url_re = new RegExp(url_res[elemI]);
2299 if ( location.href.match(site_url_re)) {
2300 logmsg(mySITE["name"] + " matched.");
2301 find_artist_name = new Function(mySITE["findArtist"]);
2302 logmsg(find_artist_name());
2303 MORE_LINK = mySITE["morelink"];
2304 logmsg("More link: " + MORE_LINK);
2305 hook = new Function(mySITE["hook"]);
2306 isAudioRelease = new Function(mySITE["isAudioRelease"]);
2307 if (isAudioRelease()) {
2308 logmsg("This is an Audio release.");
2309 hook();
2310 logmsg("Hook installed");
2311 addGlobalStyle(CSS_CODE);
2312 addGlobalStyle(mySITE["css"]);
2313 artist = find_artist_name();
2314
2315 if (artist != null) artist = artist.replace(/&/,"&");
2316 if (artist == null || artist.toLowerCase().indexOf('various') > -1 || artist.match(new RegExp("^VA.*"))) {
2317 logmsg('no artist to process');
2318 artist = null;
2319 addWidgets(artist);
2320 // TODO
2321 $("ArtistTitle").innerHTML = "<b>Sorry, the artist name could not be parsed.<br>However, you can still use the search box to the right.</b>";
2322 return;
2323 }
2324 addWidgets(artist);
2325 a(artist);
2326 break Finish;
2327 }
2328 else logmsg("This is not an audio release.");
2329 found = true;
2330 break Finish;
2331 }
2332 }
2333 if (!found) logmsg(mySITE["name"] + " didn't match.");
2334 }
2335 }
2336
2337
2338 // here we go
2339 function do_it_baby() {
2340 //console.log('do it baby');
2341 /*
2342 artist = find_artist_name();
2343 if (artist == null || artist == "Various Artists") return;
2344 //console.log('found artist: ' + artist);
2345 addGlobalStyle(CSS_CODE);
2346 centertable = find_table();
2347 //console.log('here am i');
2348 appendTableRow(window.document,centertable.lastChild.previousSibling);
2349
2350 //check_for_new_version_init();
2351 addWidgets(artist);
2352 a(artist);
2353 */
2354 //check_for_new_version_init();
2355 findMatchingSite();
2356
2357 }
2358
2359 do_it_baby();
2360
2361
2362
2363
2364} // main()
2365
2366
2367if(!window.GM_setValue)
2368{
2369 window.GM_setValue = function(valuename, value) { localStorage.setItem(valuename, value);; };
2370}
2371if(!window.GM_getValue)
2372{
2373 window.GM_getValue = function(name) { return localStorage.getItem(name); };
2374}
2375
2376main();
2377
2378})();
2379
2380// here be monsters
2381//.user.js