From 4cbf97cc5af316b2c9bc7b5b38f9e9693d5891fe Mon Sep 17 00:00:00 2001 From: Elmar Kresse Date: Wed, 3 Sep 2025 19:34:00 +0200 Subject: [PATCH] init commit --- .gitignore | 57 + README.md | 54 + data/.mb_cache.json | 3767 ++++++++++++++++++++++ data/years.json | 6453 ++++++++++++++++++++++++++++++++++++++ package.json | 26 + public/client.js | 428 +++ public/hitstar.png | Bin 0 -> 147318 bytes public/index.html | 137 + public/style.css | 37 + scripts/resolve-years.js | 309 ++ server.js | 482 +++ tmp_tracks.json | 1 + 12 files changed, 11751 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 data/.mb_cache.json create mode 100644 data/years.json create mode 100644 package.json create mode 100644 public/client.js create mode 100644 public/hitstar.png create mode 100644 public/index.html create mode 100644 public/style.css create mode 100644 scripts/resolve-years.js create mode 100644 server.js create mode 100644 tmp_tracks.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc5a307 --- /dev/null +++ b/.gitignore @@ -0,0 +1,57 @@ +# Node +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +package-lock.json +.DS_Store +.env +.env.* + +# Build/output +/dist/ +/build/ +/.cache/ +/.parcel-cache/ +coverage/ + +# Audio files (exclude all audio from Git) +*.3gp +*.aac +*.ac3 +*.aif +*.aiff +*.alac +*.amr +*.ape +*.au +*.caf +*.flac +*.m4a +*.m4b +*.m4p +*.mid +*.midi +*.mp1 +*.mp2 +*.mp3 +*.mpga +*.oga +*.ogg +*.opus +*.ra +*.rm +*.snd +*.wav +*.wma +*.wv + +# Project-specific: keep local music only on your machine +/data/*.mp3 +/data/*.wav +/data/*.flac +/data/*.m4a +/data/*.aac +/data/*.ogg +/data/*.opus diff --git a/README.md b/README.md new file mode 100644 index 0000000..2ece4ac --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# Hitstar – lokale Web-App (Prototyp) + +Lokales Multiplayer-Webspiel inspiriert von HITSTER. Nutzt eure MP3-Dateien im Ordner `data/`, eine Lobby mit Raum-Code sowie WebSockets für den Mehrspieler-Modus. + +## Features +- Lobby mit Raum-Erstellung und -Beitritt (Code) +- Mehrere Spieler pro Raum, Host startet das Spiel +- Lokale MP3-Wiedergabe via Browser-Audio (`/audio/`) – keine externen Dienste +- Einfache Rundenlogik: DJ scannt Lied, Spieler raten vor/nach (vereinfachte Chronologie) +- Token-Zähler (Basis); Gewinnbedingung: 10 korrekt platzierte Karten + +Hinweis: Regeln sind vereinfacht; „HITSTER!“-Challenges und exakter Zwischenplatzierungsmodus sind als Ausbaustufe geplant. + +## Setup +1. MP3-Dateien in `data/` legen (Dateiname wird als Fallback-Titel genutzt; falls Tags vorhanden, werden Titel/Künstler/Jahr ausgelesen). +2. Abhängigkeiten installieren und Server starten. + +### PowerShell-Befehle +```powershell +# In den Projektordner wechseln +Set-Location e:\git\hitstar + +# Abhängigkeiten installieren +npm install + +# Server starten +npm start +``` + +Dann im Browser öffnen: http://localhost:5173 + +## Nutzung +- Namen setzen, Raum erstellen oder mit Code beitreten (Code wird angezeigt). +- Host klickt „Spiel starten“. +- DJ klickt „Lied scannen“; der Track spielt bei allen. +- Aktiver Spieler wählt „Vor“ oder „Nach“. Bei Erfolg wandert das Lied in seine Zeitleiste. + +## Ordnerstruktur +- `public/` – Client (HTML/CSS/JS) +- `server.js` – Express + WebSocket Server, Game-State +- `data/` – eure MP3-Dateien + +## Git & Audio-Dateien +- In `.gitignore` sind alle gängigen Audio-Dateitypen ausgeschlossen (z. B. .mp3, .wav, .flac, .m4a, .ogg, …). +- Legt eure Musik lokal in `data/`. Diese Dateien werden nicht ins Git-Repo eingecheckt und bleiben nur auf eurem Rechner. + +## Nächste Schritte (optional) +- „HITSTER!“-Challenges per Token mit Positionsauswahl (zwischen zwei Karten) +- Team-Modus, Pro-/Expert-Regeln, exaktes Jahr +- Persistenz (Räume/Spielstände), Reconnect +- Drag & Drop-Zeitleiste, visuelle Platzierung + +## Hinweis +Nur für privaten Gebrauch. Musikdateien bleiben lokal bei euch. diff --git a/data/.mb_cache.json b/data/.mb_cache.json new file mode 100644 index 0000000..2d1c754 --- /dev/null +++ b/data/.mb_cache.json @@ -0,0 +1,3767 @@ +{ + "akon|lonely": { + "file": "Akon - Lonely.mp3", + "title": "Lonely", + "artist": "Akon", + "mbid": "bd49579a-c577-4df4-afc0-9c4ff7a10e18", + "earliestDate": "2005", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 235102, + "matchedDurationMs": 234946 + } + }, + "alessia cara|scars to your beautiful": { + "file": "Alessia Cara - Scars To Your Beautiful.mp3", + "title": "Scars To Your Beautiful", + "artist": "Alessia Cara", + "mbid": "6a8875d3-3bb5-4c5b-9498-e5f2ae6dd1d1", + "earliestDate": "2015-03-11", + "year": 2015, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 230269, + "matchedDurationMs": 230240 + } + }, + "alicia keys|fallin'": { + "file": "Alicia Keys - Fallin'.mp3", + "title": "Fallin'", + "artist": "Alicia Keys", + "mbid": "7276155b-a01b-42a9-9d31-eb0c317d07b8", + "earliestDate": "2001-06-05", + "year": 2001, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210233, + "matchedDurationMs": 210466 + } + }, + "alicia keys|no one": { + "file": "Alicia Keys - No One.mp3", + "title": "No One", + "artist": "Alicia Keys", + "mbid": "83fa4748-2c91-4981-b480-23a764d69fc7", + "earliestDate": "2007-09-10", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 253858, + "matchedDurationMs": 254173 + } + }, + "alphaville|forever young": { + "file": "Alphaville - Forever Young.mp3", + "title": "Forever Young", + "artist": "Alphaville", + "mbid": "37d2fc01-4933-481b-b6e4-9039585d22d3", + "earliestDate": "1984-09-27", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 226743, + "matchedDurationMs": 226000 + } + }, + "alvaro soler|la cintura": { + "file": "Alvaro Soler - La Cintura.mp3", + "title": "La Cintura", + "artist": "Alvaro Soler", + "mbid": "ce43ae03-91d2-41f3-84ef-2c640241c09f", + "earliestDate": "2018-03-29", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 0.3333333333333333, + "durationMs": 204696, + "matchedDurationMs": 204520 + } + }, + "amii stewart|knock on wood": { + "file": "Amii Stewart - Knock On Wood.mp3", + "title": "Knock On Wood", + "artist": "Amii Stewart", + "mbid": "1880e2a2-e47e-4a28-ad6e-c7deb444291e", + "earliestDate": "1979-01-15", + "year": 1979, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 250567, + "matchedDurationMs": 218333 + } + }, + "amy winehouse|rehab": { + "file": "Amy Winehouse - Rehab.mp3", + "title": "Rehab", + "artist": "Amy Winehouse", + "mbid": "873eba85-b721-4728-be2e-96ce94cccb8b", + "earliestDate": "2006-10-23", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 213786, + "matchedDurationMs": 214000 + } + }, + "anastacia|sick and tired": { + "file": "Anastacia - Sick and Tired.mp3", + "title": "Sick and Tired", + "artist": "Anastacia", + "mbid": "52bc36a0-2559-49bc-9b86-4a420ec9cb27", + "earliestDate": "2004-03-25", + "year": 2004, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210181, + "matchedDurationMs": 210146 + } + }, + "andreas bourani|auf uns": { + "file": "Andreas Bourani - Auf uns.mp3", + "title": "Auf uns", + "artist": "Andreas Bourani", + "mbid": "7b41e8fa-4b97-45c0-b260-40a443ad0466", + "earliestDate": "2014-04-25", + "year": 2014, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 239491, + "matchedDurationMs": 240000 + } + }, + "billy joel|piano man": { + "file": "Billy Joel - Piano Man.mp3", + "title": "Piano Man", + "artist": "Billy Joel", + "mbid": "92ac918a-07f6-4f5e-b356-5897723310ca", + "earliestDate": "1973-11-09", + "year": 1973, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 339043, + "matchedDurationMs": 338666 + } + }, + "annie lennox|why": { + "file": "Annie Lennox - Why.mp3", + "title": "Why", + "artist": "Annie Lennox", + "mbid": "28734584-3a00-4072-8e09-dc5c40c0d50a", + "earliestDate": "1992-04-06", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 293224, + "matchedDurationMs": 294000 + } + }, + "aqua|barbie girl": { + "file": "Aqua - Barbie Girl.mp3", + "title": "Barbie Girl", + "artist": "Aqua", + "mbid": "5268ded7-3c3c-465b-805f-cb14e407ec2d", + "earliestDate": "1997-05-14", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 197956, + "matchedDurationMs": 195360 + } + }, + "aretha franklin|respect": { + "file": "Aretha Franklin - Respect.mp3", + "title": "Respect", + "artist": "Aretha Franklin", + "mbid": "6a7014c2-dcb2-4179-a88b-f172f25a7d93", + "earliestDate": "1971-05-19", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 147644, + "matchedDurationMs": 223000 + } + }, + "atomic kitten|whole again": { + "file": "Atomic Kitten - Whole Again.mp3", + "title": "Whole Again", + "artist": "Atomic Kitten", + "mbid": "e8bdfb1b-3de6-43f7-b917-bd76238af931", + "earliestDate": "2001", + "year": 2001, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 186645, + "matchedDurationMs": 186333 + } + }, + "bill haley and his comets|we're gonna rock around the clock": { + "file": "Bill Haley & His Comets - (We're Gonna) Rock Around The Clock (Single Version).mp3", + "title": "(We're Gonna) Rock Around The Clock (Single Version)", + "artist": "Bill Haley & His Comets", + "mbid": "5e17cc2d-368d-4abb-b22c-71b08d6cfef9", + "earliestDate": "2014-09-19", + "year": 2014, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 131187, + "matchedDurationMs": 129880 + } + }, + "bill haley and his comets|see you later alligator": { + "file": "Bill Haley & His Comets - See You Later, Alligator.mp3", + "title": "See You Later, Alligator", + "artist": "Bill Haley & His Comets", + "mbid": "732b4543-1820-4cb6-b7cb-25c0356f1f5b", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163840, + "matchedDurationMs": null + } + }, + "bill medley jennifer warnes|i've had the time of my life from \"dirty dancing\" soundtrack": { + "file": "Bill Medley - (I've Had) The Time Of My Life (From Dirty Dancing Soundtrack).mp3", + "title": "(I've Had) The Time Of My Life (From \"Dirty Dancing\" Soundtrack)", + "artist": "Bill Medley, Jennifer Warnes", + "mbid": "3da1ab83-49aa-4b69-a6e9-9566f3c3f5fa", + "earliestDate": "2024-01-19", + "year": 2024, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 290377, + "matchedDurationMs": 290000 + } + }, + "bill ramsey|zuckerpuppe aus der bauchtanz truppe": { + "file": "Bill Ramsey - Zuckerpuppe (Aus der Bauchtanz-Truppe).mp3", + "title": "Zuckerpuppe (Aus der Bauchtanz-Truppe)", + "artist": "Bill Ramsey", + "mbid": "81669066-c680-4574-88bc-466764ebca61", + "earliestDate": "1961-10", + "year": 1961, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163370, + "matchedDurationMs": 163000 + } + }, + "billie eilish|bad guy": { + "file": "Billie Eilish - bad guy.mp3", + "title": "bad guy", + "artist": "Billie Eilish", + "mbid": "694da04d-1ffc-435c-8b4b-59cc23ac8003", + "earliestDate": "2019-03-29", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194116, + "matchedDurationMs": 194000 + } + }, + "billy idol|white wedding": { + "file": "Billy Idol - White Wedding.mp3", + "title": "White Wedding", + "artist": "Billy Idol", + "mbid": "1884c8f3-64fc-4fac-8400-abea54129026", + "earliestDate": "1983", + "year": 1983, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 505130, + "matchedDurationMs": 213400 + } + }, + "billy swan|i can help": { + "file": "Billy Swan - I Can Help.mp3", + "title": "I Can Help", + "artist": "Billy Swan", + "mbid": "d7df9be9-f549-44cb-ad4a-6b2b2628385d", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240065, + "matchedDurationMs": 238440 + } + }, + "black eyed peas|where is the love": { + "file": "Black Eyed Peas - Where Is The Love.mp3", + "title": "Where Is The Love?", + "artist": "Black Eyed Peas", + "mbid": "5f21eb12-f84e-45f1-b3d7-c3e1d4ea0085", + "earliestDate": "2003", + "year": 2003, + "confidence": { + "mbScore": 92, + "titleSim": 1, + "artistSim": 0.75, + "durationMs": 272562, + "matchedDurationMs": 272000 + } + }, + "bl mchen|herz an herz": { + "file": "Blümchen - Herz an Herz.mp3", + "title": "Herz an Herz", + "artist": "Blümchen", + "mbid": "2d3cf4d6-614c-4e78-9bc2-9e355f979516", + "earliestDate": "1996", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 227030, + "matchedDurationMs": 227000 + } + }, + "bob marley and the wailers|no woman no cry": { + "file": "Bob Marley & The Wailers - No Woman No Cry.mp3", + "title": "No Woman No Cry", + "artist": "Bob Marley & The Wailers", + "mbid": "5f92f7de-f6b4-4c52-9f87-e774a268e194", + "earliestDate": "1973-10", + "year": 1973, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 226273, + "matchedDurationMs": 422733 + } + }, + "bob sinclar steve edwards|world hold on children of the sky": { + "file": "Bob Sinclar - World Hold on (Children of the Sky) [Radio Edit].mp3", + "title": "World Hold on (Children of the Sky) [Radio Edit]", + "artist": "Bob Sinclar, Steve Edwards", + "mbid": "9cb36936-6524-4852-ac2d-dd1afac884fa", + "earliestDate": "2018-05-04", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 0.5, + "artistSim": 0.5714285714285714, + "durationMs": 199236, + "matchedDurationMs": 172000 + } + }, + "bon jovi|it's my life": { + "file": "Bon Jovi - It's My Life.mp3", + "title": "It's My Life", + "artist": "Bon Jovi", + "mbid": "511096e6-7737-4514-8f23-bfa0dac765ec", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 224522, + "matchedDurationMs": 539000 + } + }, + "bonnie tyler|it's a heartache": { + "file": "Bonnie Tyler - It's A Heartache.mp3", + "title": "It's A Heartache", + "artist": "Bonnie Tyler", + "mbid": "58141b98-0bc6-463d-829a-61ee919a46d5", + "earliestDate": "1977", + "year": 1977, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 209789, + "matchedDurationMs": null + } + }, + "boston|more than a feeling": { + "file": "Boston - More Than a Feeling.mp3", + "title": "More Than a Feeling", + "artist": "Boston", + "mbid": "a15a76ab-ee46-4212-8b15-86424020f579", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 283011, + "matchedDurationMs": 200000 + } + }, + "britney spears|oops i did it again": { + "file": "Britney Spears - Oops!...I Did It Again.mp3", + "title": "Oops!...I Did It Again", + "artist": "Britney Spears", + "mbid": "44abd7d3-c593-4587-a109-6d9582f13f36", + "earliestDate": "2000-04-25", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210887, + "matchedDurationMs": 211733 + } + }, + "bronski beat|smalltown boy": { + "file": "Bronski Beat - Smalltown Boy.mp3", + "title": "Smalltown Boy", + "artist": "Bronski Beat", + "mbid": "8a4030f8-abe4-47ba-969d-aca6b878ff07", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 302446, + "matchedDurationMs": 540000 + } + }, + "bruce springsteen|dancing in the dark": { + "file": "Bruce Springsteen - Dancing In the Dark.mp3", + "title": "Dancing In the Dark", + "artist": "Bruce Springsteen", + "mbid": "3ecd975b-f6ef-4f44-b181-6ec822323756", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 241345, + "matchedDurationMs": null + } + }, + "bryan adams|heaven": { + "file": "Bryan Adams - Heaven.mp3", + "title": "Heaven", + "artist": "Bryan Adams", + "mbid": "d5050809-f33a-44bb-8ec1-dc996375e272", + "earliestDate": "1985-04-27", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 245185, + "matchedDurationMs": null + } + }, + "captain jack|captain jack": { + "file": "Captain Jack - Captain Jack (Short Mix).mp3", + "title": "Captain Jack (Short Mix)", + "artist": "Captain Jack", + "mbid": "b349be1d-edac-4632-9a9b-f4a9b3e5e844", + "earliestDate": "1995-01-01", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248581, + "matchedDurationMs": 248131 + } + }, + "carly simon|you're so vain": { + "file": "Carly Simon - You're So Vain.mp3", + "title": "You're So Vain", + "artist": "Carly Simon", + "mbid": "27089139-92c0-499c-9597-c66c9b11bdfd", + "earliestDate": "1972-11-25", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 258456, + "matchedDurationMs": 258252 + } + }, + "caterina valente|ganz paris traumt von der liebe": { + "file": "Caterina Valente - Ganz Paris Traumt Von Der Liebe.mp3", + "title": "Ganz Paris Traumt Von Der Liebe", + "artist": "Caterina Valente", + "mbid": "300ec8d8-5053-46ed-92ed-77748648a450", + "earliestDate": "1954", + "year": 1954, + "confidence": { + "mbScore": 100, + "titleSim": 0.625, + "artistSim": 1, + "durationMs": 172356, + "matchedDurationMs": 173000 + } + }, + "c line dion|my heart will go on love theme from \"titanic\"": { + "file": "Céline Dion - My Heart Will Go On (Love Theme from Titanic).mp3", + "title": "My Heart Will Go On (Love Theme from \"Titanic\")", + "artist": "Céline Dion", + "mbid": "21a833ca-7b2b-4a55-a5d6-06495535e26d", + "earliestDate": "1997-11-18", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 281287, + "matchedDurationMs": 310733 + } + }, + "cher|believe": { + "file": "Cher - Believe.mp3", + "title": "Believe", + "artist": "Cher", + "mbid": "c454ddd8-8d0c-419d-b4e9-65620785851e", + "earliestDate": "1998-10-12", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 239073, + "matchedDurationMs": 238693 + } + }, + "chic|le freak": { + "file": "Chic - Le Freak (2018 Remaster).mp3", + "title": "Le Freak (2018 Remaster)", + "artist": "Chic", + "mbid": "b33a9130-63d8-4bf0-a4a2-4bb421ac68e1", + "earliestDate": "2019-03-29", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 331389, + "matchedDurationMs": 331000 + } + }, + "chicago|if you leave me now remastered lp version": { + "file": "Chicago - If You Leave Me Now (Remastered LP Version).mp3", + "title": "If You Leave Me Now (Remastered LP Version)", + "artist": "Chicago", + "mbid": "ef91cc0f-3ebe-4ead-834e-cb34243c3e29", + "earliestDate": "2004-09-15", + "year": 2004, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 235416, + "matchedDurationMs": 236000 + } + }, + "christina aguilera|genie in a bottle": { + "file": "Christina Aguilera - Genie in a Bottle.mp3", + "title": "Genie in a Bottle", + "artist": "Christina Aguilera", + "mbid": "fbe9ad8c-3a31-4b5a-9710-228b8c77907b", + "earliestDate": "1999-04", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 217600, + "matchedDurationMs": 217293 + } + }, + "chubby checker|the twist": { + "file": "Chubby Checker - The Twist.mp3", + "title": "The Twist", + "artist": "Chubby Checker", + "mbid": "55e17d71-03a0-4df4-b381-7c5e421782a6", + "earliestDate": "1960-06", + "year": 1960, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 158903, + "matchedDurationMs": 152000 + } + }, + "chuck berry|johnny b goode": { + "file": "Chuck Berry - Johnny B. Goode.mp3", + "title": "Johnny B. Goode", + "artist": "Chuck Berry", + "mbid": "0a506cdb-0101-4268-9b43-3c64b8498e99", + "earliestDate": "1972", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 162664, + "matchedDurationMs": 164000 + } + }, + "coldplay|talk": { + "file": "Coldplay - Talk.mp3", + "title": "Talk", + "artist": "Coldplay", + "mbid": "9cd3daca-eab7-4db8-8af8-21b3da550c28", + "earliestDate": "2005-06-01", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 311327, + "matchedDurationMs": 311253 + } + }, + "connie francis|sch ner fremder mann": { + "file": "Connie Francis - Schöner fremder Mann.mp3", + "title": "Schöner fremder Mann", + "artist": "Connie Francis", + "mbid": "e765f8d5-1647-4ead-9547-3d445e06ac5c", + "earliestDate": "1961", + "year": 1961, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163997, + "matchedDurationMs": 162000 + } + }, + "corinne bailey rae|put your records on": { + "file": "Corinne Bailey Rae - Put Your Records On.mp3", + "title": "Put Your Records On", + "artist": "Corinne Bailey Rae", + "mbid": "a2ca096d-b51b-4bd5-bda0-a0875c5f9657", + "earliestDate": "2006-02-21", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215406, + "matchedDurationMs": 215000 + } + }, + "creedence clearwater revival|have you ever seen the rain": { + "file": "Creedence Clearwater Revival - Have You Ever Seen The Rain.mp3", + "title": "Have You Ever Seen The Rain", + "artist": "Creedence Clearwater Revival", + "mbid": "b5634bbd-cf5c-4206-8063-f7f5079eaa29", + "earliestDate": "1970-12-07", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 160183, + "matchedDurationMs": 160000 + } + }, + "cro|einmal um die welt": { + "file": "CRO - Einmal um die Welt.mp3", + "title": "Einmal um die Welt", + "artist": "CRO", + "mbid": "6d77e594-5a1b-4eda-9d93-ad0a26aa9212", + "earliestDate": "2011-02-11", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 142498, + "matchedDurationMs": 140000 + } + }, + "crowded house|don't dream it's over": { + "file": "Crowded House - Don't Dream It's Over.mp3", + "title": "Don't Dream It's Over", + "artist": "Crowded House", + "mbid": "7d066fb2-06d2-4297-862a-b9cd14d595a1", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 236983, + "matchedDurationMs": 353360 + } + }, + "culture beat|mr vain": { + "file": "Culture Beat - Mr. Vain.mp3", + "title": "Mr. Vain", + "artist": "Culture Beat", + "mbid": "bdffee79-99c0-4b47-a8e9-f94960778f5e", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 336875, + "matchedDurationMs": 336800 + } + }, + "culture club|karma chameleon": { + "file": "Culture Club - Karma Chameleon.mp3", + "title": "Karma Chameleon", + "artist": "Culture Club", + "mbid": "bf1c6620-3b9a-4878-938b-b9f81001666b", + "earliestDate": "1995", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240588, + "matchedDurationMs": 236000 + } + }, + "cyndi lauper|true colors": { + "file": "Cyndi Lauper - True Colors.mp3", + "title": "True Colors", + "artist": "Cyndi Lauper", + "mbid": "531c800f-ae39-4942-aeeb-05a44f1dcdcf", + "earliestDate": "1986-09-05", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 226220, + "matchedDurationMs": 227293 + } + }, + "daft punk|one more time short radio edit": { + "file": "Daft Punk - One More Time (Short Radio Edit).mp3", + "title": "One More Time (Short Radio Edit)", + "artist": "Daft Punk", + "mbid": "c3c3b281-5943-4c7d-bd1c-69d877277714", + "earliestDate": "2000-11-13", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 235494, + "matchedDurationMs": 235235 + } + }, + "danny and the juniors|at the hop": { + "file": "Danny and The Juniors - At The Hop.mp3", + "title": "At The Hop", + "artist": "Danny and The Juniors", + "mbid": "8e980a28-f25b-495e-94be-b19b56f6019c", + "earliestDate": "1986", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 153051, + "matchedDurationMs": 151000 + } + }, + "daryl hall and john oates|maneater": { + "file": "Daryl Hall & John Oates - Maneater.mp3", + "title": "Maneater", + "artist": "Daryl Hall & John Oates", + "mbid": "83e2444b-5445-400c-8215-f12f81d6f615", + "earliestDate": "1994", + "year": 1994, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 272039, + "matchedDurationMs": 265960 + } + }, + "die rzte|junge": { + "file": "Die Ärzte - Junge.mp3", + "title": "Junge", + "artist": "Die Ärzte", + "mbid": "bd95f4ef-fedb-4d2e-b33b-b4b574f31bd4", + "earliestDate": "2007-10-05", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 187585, + "matchedDurationMs": 187613 + } + }, + "die rzte|westerland": { + "file": "Die Ärzte - Westerland.mp3", + "title": "Westerland", + "artist": "Die Ärzte", + "mbid": "8e0d5bf4-0cc0-4ee9-a18c-e6f90f03d737", + "earliestDate": "1988-04-08", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221205, + "matchedDurationMs": 220000 + } + }, + "die firma|die eine": { + "file": "Die Firma - Die Eine.mp3", + "title": "Die Eine", + "artist": "Die Firma", + "mbid": "f8694c99-2c05-45ab-b558-a54b7851e039", + "earliestDate": "1998-04-03", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240013, + "matchedDurationMs": 240240 + } + }, + "die prinzen|alles nur geklaut": { + "file": "Die Prinzen - Alles nur geklaut.mp3", + "title": "Alles nur geklaut", + "artist": "Die Prinzen", + "mbid": "b2630eb0-8b16-4901-8a8d-b0d146b7913c", + "earliestDate": "1993-11-12", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 191843, + "matchedDurationMs": 193000 + } + }, + "die toten hosen|tage wie diese": { + "file": "Die Toten Hosen - Tage wie diese.mp3", + "title": "Tage wie diese", + "artist": "Die Toten Hosen", + "mbid": "f958b654-eef3-4496-b751-b61edfe146c9", + "earliestDate": "2012-03-23", + "year": 2012, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 268460, + "matchedDurationMs": 268426 + } + }, + "dion|the wanderer": { + "file": "Dion - The Wanderer.mp3", + "title": "The Wanderer", + "artist": "Dion", + "mbid": "33c480f2-5f9a-43db-91b4-6834a23ea76f", + "earliestDate": "1961", + "year": 1961, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163657, + "matchedDurationMs": 160000 + } + }, + "dire straits|walk of life": { + "file": "Dire Straits - Walk Of Life.mp3", + "title": "Walk Of Life", + "artist": "Dire Straits", + "mbid": "2defe75f-52c3-49d7-9cb9-7dbc4749c6dd", + "earliestDate": "1985", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248947, + "matchedDurationMs": 239000 + } + }, + "dolly parton|jolene": { + "file": "Dolly Parton - Jolene.mp3", + "title": "Jolene", + "artist": "Dolly Parton", + "mbid": "58751150-daa4-4b72-802a-555d6ea0a6e7", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 161437, + "matchedDurationMs": 181000 + } + }, + "dr alban|sing hallelujah": { + "file": "Dr. Alban - Sing Hallelujah!.mp3", + "title": "Sing Hallelujah!", + "artist": "Dr. Alban", + "mbid": "4166d83c-7aba-497d-98a2-20ab971c767a", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240980, + "matchedDurationMs": 241080 + } + }, + "drafi deutscher|marmor stein und eisen bricht": { + "file": "Drafi Deutscher - Marmor, Stein und Eisen bricht.mp3", + "title": "Marmor, Stein und Eisen bricht", + "artist": "Drafi Deutscher", + "mbid": "884df235-f5e4-4d69-a05a-993c03456100", + "earliestDate": "1982-10", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 156134, + "matchedDurationMs": 192133 + } + }, + "drake|toosie slide": { + "file": "Drake - Toosie Slide.mp3", + "title": "Toosie Slide", + "artist": "Drake", + "mbid": "de4c54c9-6171-4cec-8866-d5f41b24d51d", + "earliestDate": "2020-04-03", + "year": 2020, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 247092, + "matchedDurationMs": 247058 + } + }, + "dua lipa|break my heart": { + "file": "Dua Lipa - Break My Heart.mp3", + "title": "Break My Heart", + "artist": "Dua Lipa", + "mbid": "ba2a214d-39b0-4b53-8b20-b2b80cf9bfab", + "earliestDate": "2020-03-21", + "year": 2020, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221858, + "matchedDurationMs": 221820 + } + }, + "duck sauce|barbra streisand": { + "file": "Duck Sauce - Barbra Streisand (Radio Edit).mp3", + "title": "Barbra Streisand (Radio Edit)", + "artist": "Duck Sauce", + "mbid": "7c3ffc5e-bab2-46c6-b8f0-c25f446de4c5", + "earliestDate": "2011-02-11", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194038, + "matchedDurationMs": 194160 + } + }, + "duffy|mercy": { + "file": "Duffy - Mercy.mp3", + "title": "Mercy", + "artist": "Duffy", + "mbid": "e528371a-0544-4328-a51e-8a2427671fcc", + "earliestDate": "2007", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219951, + "matchedDurationMs": 220453 + } + }, + "eagle eye cherry|save tonight": { + "file": "Eagle-Eye Cherry - Save Tonight.mp3", + "title": "Save Tonight", + "artist": "Eagle-Eye Cherry", + "mbid": "d8a837d1-886d-44e4-aa72-d19e61180b3b", + "earliestDate": "1997-07-21", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 242782, + "matchedDurationMs": 236000 + } + }, + "echt|du tr gst keine liebe in dir": { + "file": "Echt - Du trägst keine Liebe in dir.mp3", + "title": "Du trägst keine Liebe in dir", + "artist": "Echt", + "mbid": "64908e9c-633f-4c63-b09b-abf99b255261", + "earliestDate": "1999-09-10", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 261982, + "matchedDurationMs": 263000 + } + }, + "eddy grant|gimme hope jo'anna": { + "file": "Eddy Grant - Gimme Hope Jo'Anna.mp3", + "title": "Gimme Hope Jo'Anna", + "artist": "Eddy Grant", + "mbid": "f897a847-60e3-4409-bbce-36feeb6d23c9", + "earliestDate": "1988-03-21", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 243722, + "matchedDurationMs": 240426 + } + }, + "elton john|your song": { + "file": "Elton John - Your Song.mp3", + "title": "Your Song", + "artist": "Elton John", + "mbid": "5c9dee4c-3291-49a2-8c3e-a0dd7f7e4ad5", + "earliestDate": "1971", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 241816, + "matchedDurationMs": null + } + }, + "elvis presley|can't help falling in love": { + "file": "Elvis Presley - Can't Help Falling in Love.mp3", + "title": "Can't Help Falling in Love", + "artist": "Elvis Presley", + "mbid": "a84b9958-0c2a-4222-8759-c6615aa3fe55", + "earliestDate": "1969-10-14", + "year": 1969, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178521, + "matchedDurationMs": 130000 + } + }, + "elvis presley|jailhouse rock": { + "file": "Elvis Presley - Jailhouse Rock.mp3", + "title": "Jailhouse Rock", + "artist": "Elvis Presley", + "mbid": "137b53e7-57e3-4a07-85e3-fcf733ae0a0d", + "earliestDate": "1957-01-01", + "year": 1957, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 146965, + "matchedDurationMs": 130000 + } + }, + "enrique iglesias|do you know the ping pong song": { + "file": "Enrique Iglesias - Do You Know (The Ping Pong Song).mp3", + "title": "Do You Know? (The Ping Pong Song)", + "artist": "Enrique Iglesias", + "mbid": "0892e221-c14b-4e5c-b425-f8d3cf673e53", + "earliestDate": "2007-06-11", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 218122, + "matchedDurationMs": 219560 + } + }, + "enya|orinoco flow": { + "file": "Enya - Orinoco Flow.mp3", + "title": "Orinoco Flow", + "artist": "Enya", + "mbid": "4b5273c8-45f2-4bea-b73c-5128cd57faa8", + "earliestDate": "1988-09-19", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 266266, + "matchedDurationMs": 266933 + } + }, + "eric carmen|hungry eyes from \"dirty dancing\" soundtrack": { + "file": "Eric Carmen - Hungry Eyes (From Dirty Dancing Soundtrack).mp3", + "title": "Hungry Eyes (From \"Dirty Dancing\" Soundtrack)", + "artist": "Eric Carmen", + "mbid": "848ecccf-4fc4-4478-b70a-8e31286bfd84", + "earliestDate": "2005", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248477, + "matchedDurationMs": 246000 + } + }, + "eric prydz|call on me": { + "file": "Eric Prydz - Call On Me (Radio Edit).mp3", + "title": "Call On Me (Radio Edit)", + "artist": "Eric Prydz", + "mbid": "f22021f6-5219-49fe-9270-2fac043b57d3", + "earliestDate": "2004", + "year": 2004, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 171389, + "matchedDurationMs": 167000 + } + }, + "erma franklin|piece of my heart": { + "file": "Erma Franklin - Piece of My Heart.mp3", + "title": "Piece of My Heart", + "artist": "Erma Franklin", + "mbid": "99b7e978-e259-4aa5-8f4b-00b043da4d54", + "earliestDate": "1967-10", + "year": 1967, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 157283, + "matchedDurationMs": 155000 + } + }, + "eros ramazzotti|pi bella cosa": { + "file": "Eros Ramazzotti - Più bella cosa.mp3", + "title": "Più bella cosa", + "artist": "Eros Ramazzotti", + "mbid": "289cc14d-a64d-472a-b865-937874233dfb", + "earliestDate": "1996-04-09", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264333, + "matchedDurationMs": 266000 + } + }, + "eurythmics annie lennox dave stewart|sweet dreams are made of this": { + "file": "Eurythmics - Sweet Dreams (Are Made of This).mp3", + "title": "Sweet Dreams (Are Made of This)", + "artist": "Eurythmics, Annie Lennox, Dave Stewart", + "mbid": "cf4c57df-da7f-4336-9c9f-090dfc98afeb", + "earliestDate": "2007-12-10", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 292598, + "matchedDurationMs": 211722 + } + }, + "falco|rock me amadeus": { + "file": "Falco - Rock Me Amadeus.mp3", + "title": "Rock Me Amadeus", + "artist": "Falco", + "mbid": "c202f18b-758e-4c9e-be38-71e7863f57d1", + "earliestDate": "1985-09-11", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 199837, + "matchedDurationMs": 202000 + } + }, + "fatboy slim|praise you": { + "file": "Fatboy Slim - Praise You.mp3", + "title": "Praise You", + "artist": "Fatboy Slim", + "mbid": "c9f0a90a-806c-4b60-bdca-1488eda61988", + "earliestDate": "1999", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 324284, + "matchedDurationMs": 314440 + } + }, + "fats domino|ain't that a shame": { + "file": "Fats Domino - Ain't That A Shame.mp3", + "title": "Ain't That A Shame", + "artist": "Fats Domino", + "mbid": "ffa16838-9137-42ec-964d-bf668d502593", + "earliestDate": "1988", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 152242, + "matchedDurationMs": 156000 + } + }, + "fettes brot|emanuela": { + "file": "Fettes Brot - Emanuela.mp3", + "title": "Emanuela", + "artist": "Fettes Brot", + "mbid": "5c626985-3396-42dd-a0b0-5a02f15945bf", + "earliestDate": "2005-03-21", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214883, + "matchedDurationMs": 214853 + } + }, + "fine young cannibals|she drives me crazy": { + "file": "Fine Young Cannibals - She Drives Me Crazy.mp3", + "title": "She Drives Me Crazy", + "artist": "Fine Young Cannibals", + "mbid": "c47d9ac3-b2e3-4305-994d-03211998d650", + "earliestDate": "1989", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215824, + "matchedDurationMs": 216000 + } + }, + "freddy quinn|heimweh dort wo die blumen bl h'n": { + "file": "Freddy Quinn - Heimweh (Dort wo die Blumen blüh'n).mp3", + "title": "Heimweh (Dort wo die Blumen blüh'n)", + "artist": "Freddy Quinn", + "mbid": "2e4c3d92-9103-48ee-9399-43d83a61872f", + "earliestDate": "2006-10-26", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 0.875, + "artistSim": 1, + "durationMs": 212349, + "matchedDurationMs": 105000 + } + }, + "fugees|killing me softly with his song": { + "file": "Fugees - Killing Me Softly With His Song.mp3", + "title": "Killing Me Softly With His Song", + "artist": "Fugees", + "mbid": "aafec15b-93c0-4e0c-bb70-c10f2a49b6a8", + "earliestDate": "1999", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 298710, + "matchedDurationMs": 329026 + } + }, + "genesis|no son of mine": { + "file": "Genesis - No Son Of Mine.mp3", + "title": "No Son Of Mine", + "artist": "Genesis", + "mbid": "b4d6e127-5406-42b1-933b-e01a5f7df105", + "earliestDate": "1992-03", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 395651, + "matchedDurationMs": 397240 + } + }, + "gipsy kings|volare nel blu di pinto di blu": { + "file": "Gipsy Kings - Volare (Nel Blu di Pinto di Blu).mp3", + "title": "Volare (Nel Blu di Pinto di Blu)", + "artist": "Gipsy Kings", + "mbid": "44ffa450-b4c4-47a8-8c8d-b41a86fc802c", + "earliestDate": "1989-11-21", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219716, + "matchedDurationMs": 219920 + } + }, + "gitte h nning|ich will 'nen cowboy als mann": { + "file": "Gitte Hænning - Ich will 'nen Cowboy als Mann.mp3", + "title": "Ich will 'nen Cowboy als Mann", + "artist": "Gitte Hænning", + "mbid": "37e33915-b7e5-4310-bc53-94d17310b26c", + "earliestDate": "2003", + "year": 2003, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 161019, + "matchedDurationMs": 159000 + } + }, + "guns n' roses|sweet child o' mine": { + "file": "Guns N' Roses - Sweet Child O' Mine.mp3", + "title": "Sweet Child O' Mine", + "artist": "Guns N' Roses", + "mbid": "95443f12-458b-4977-a01b-c8065bda1dd0", + "earliestDate": "1988", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 356101, + "matchedDurationMs": 354734 + } + }, + "haddaway|what is love 7\" mix": { + "file": "Haddaway - What Is Love (7 Mix).mp3", + "title": "What Is Love (7\" Mix)", + "artist": "Haddaway", + "mbid": "2970d12e-5eb9-45c9-8eac-38ce11efc18f", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 97, + "titleSim": 1, + "artistSim": 1, + "durationMs": 270420, + "matchedDurationMs": 267000 + } + }, + "harry belafonte|day o the banana boat song": { + "file": "Harry Belafonte - Day-O (The Banana Boat Song).mp3", + "title": "Day-O (The Banana Boat Song)", + "artist": "Harry Belafonte", + "mbid": "145db6c0-7134-4387-b474-22da59689523", + "earliestDate": "1968", + "year": 1968, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 184738, + "matchedDurationMs": null + } + }, + "harry styles|adore you": { + "file": "Harry Styles - Adore You.mp3", + "title": "Adore You", + "artist": "Harry Styles", + "mbid": "acc4e9ce-f9cb-4a7c-8f65-a77cc586c81a", + "earliestDate": "2019-12-06", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 207177, + "matchedDurationMs": 207000 + } + }, + "heintje|mama": { + "file": "Heintje - Mama.mp3", + "title": "Mama", + "artist": "Heintje", + "mbid": "397596d8-8b1e-43c5-b069-01f5a575309f", + "earliestDate": "1967", + "year": 1967, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 151745, + "matchedDurationMs": 152000 + } + }, + "helene fischer|atemlos durch die nacht": { + "file": "Helene Fischer - Atemlos durch die Nacht.mp3", + "title": "Atemlos durch die Nacht", + "artist": "Helene Fischer", + "mbid": "e98a18f4-1345-4e5c-a117-295cd080d50d", + "earliestDate": "2013-10-04", + "year": 2013, + "confidence": { + "mbScore": 88, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219768, + "matchedDurationMs": 219898 + } + }, + "herbert gr nemeyer|m nner": { + "file": "Herbert Grönemeyer - Männer.mp3", + "title": "Männer", + "artist": "Herbert Grönemeyer", + "mbid": "11ecc67c-a65e-428f-bf01-91ddc39c656f", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 238838, + "matchedDurationMs": 240333 + } + }, + "house of pain|jump around lp version": { + "file": "House of Pain - Jump Around (LP Version).mp3", + "title": "Jump Around (LP Version)", + "artist": "House of Pain", + "mbid": "f3c80549-9f27-4a6e-a68b-545b0df0f25a", + "earliestDate": "2010", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214988, + "matchedDurationMs": 217666 + } + }, + "ich ich|vom selben stern": { + "file": "Ich + Ich - Vom selben Stern (Radio Edit).mp3", + "title": "Vom selben Stern (Radio Edit)", + "artist": "Ich + Ich", + "mbid": "78e068ef-72d5-4520-b773-0753534dfa07", + "earliestDate": "2007-06-15", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 228415, + "matchedDurationMs": 227000 + } + }, + "imagine dragons|thunder": { + "file": "Imagine Dragons - Thunder.mp3", + "title": "Thunder", + "artist": "Imagine Dragons", + "mbid": "2199bf89-2583-4368-8f85-3b0bb8f994d4", + "earliestDate": "2017-04-27", + "year": 2017, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 188160, + "matchedDurationMs": 187145 + } + }, + "james brown|i got you i feel good": { + "file": "James Brown - I Got You (I Feel Good).mp3", + "title": "I Got You (I Feel Good)", + "artist": "James Brown", + "mbid": "52242ab5-7d4e-4d42-a253-a97d42827993", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 168934, + "matchedDurationMs": 167000 + } + }, + "jason derulo|whatcha say": { + "file": "Jason Derulo - Whatcha Say.mp3", + "title": "Whatcha Say", + "artist": "Jason Derulo", + "mbid": "b0e1e84f-7b16-47dc-8297-db85a239fb18", + "earliestDate": "2010-06-04", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221283, + "matchedDurationMs": 232000 + } + }, + "jennifer lopez|if you had my love": { + "file": "Jennifer Lopez - If You Had My Love.mp3", + "title": "If You Had My Love", + "artist": "Jennifer Lopez", + "mbid": "4ac2f246-d285-4e2d-88a0-9dcc6c0e37b0", + "earliestDate": "1999-06-21", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 266031, + "matchedDurationMs": 266000 + } + }, + "jimmy cliff|you can get it if you really want": { + "file": "Jimmy Cliff - You Can Get It If You Really Want.mp3", + "title": "You Can Get It If You Really Want", + "artist": "Jimmy Cliff", + "mbid": "649d71d9-2d00-4f5d-87d3-7655eaf198f6", + "earliestDate": "1971", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 162377, + "matchedDurationMs": 168826 + } + }, + "john legend|all of me": { + "file": "John Legend - All of Me.mp3", + "title": "All of Me", + "artist": "John Legend", + "mbid": "d5548b1d-63db-4aa7-b3d5-3f864f248eee", + "earliestDate": "2013-08-08", + "year": 2013, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 269610, + "matchedDurationMs": 270000 + } + }, + "johnny cash|ring of fire": { + "file": "Johnny Cash - Ring of Fire.mp3", + "title": "Ring of Fire", + "artist": "Johnny Cash", + "mbid": "5611c424-d0db-4e30-bae2-2db6d72177f7", + "earliestDate": "1981-04-19", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 158433, + "matchedDurationMs": 170000 + } + }, + "jose to fern ndez|guajira guantanamera": { + "file": "Joseìto Fernàndez - Guajira Guantanamera.mp3", + "title": "Guajira Guantanamera", + "artist": "Joseìto Fernàndez", + "mbid": "a36d08be-3933-4a79-ac02-8455a22046ad", + "earliestDate": "1940", + "year": 1940, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 176849, + "matchedDurationMs": 182000 + } + }, + "journey|don't stop believin'": { + "file": "Journey - Don't Stop Believin'.mp3", + "title": "Don't Stop Believin'", + "artist": "Journey", + "mbid": "2b445f3e-7e84-4503-aab9-6bad9e1c2bd2", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248947, + "matchedDurationMs": 248000 + } + }, + "j rgen drews|ein bett im kornfeld": { + "file": "Jürgen Drews - Ein Bett im Kornfeld.mp3", + "title": "Ein Bett im Kornfeld", + "artist": "Jürgen Drews", + "mbid": "881c0d7e-d8a6-447f-824f-3ed317479c2d", + "earliestDate": "1976-04", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 179801, + "matchedDurationMs": 211000 + } + }, + "j rgen marcus|eine neue liebe ist wie ein neues leben": { + "file": "Jürgen Marcus - Eine neue Liebe ist wie ein neues Leben.mp3", + "title": "Eine neue Liebe ist wie ein neues Leben", + "artist": "Jürgen Marcus", + "mbid": "711e122b-a68d-4e8d-a4d5-c643de436216", + "earliestDate": "1972-05", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 229642, + "matchedDurationMs": 230000 + } + }, + "justin bieber|anyone": { + "file": "Justin Bieber - Anyone.mp3", + "title": "Anyone", + "artist": "Justin Bieber", + "mbid": "51798a1e-190a-4229-b56a-f2cda0972fdd", + "earliestDate": "2021-01-01", + "year": 2021, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 190824, + "matchedDurationMs": 190779 + } + }, + "kaoma|lambada original version 1989": { + "file": "Kaoma - Lambada (Original Version 1989).mp3", + "title": "Lambada (Original Version 1989)", + "artist": "Kaoma", + "mbid": "281e0ae7-bf5e-4716-8623-9ccabdca7afa", + "earliestDate": null, + "year": null, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 207517, + "matchedDurationMs": 207466 + } + }, + "karat|ber sieben br cken musst du gehn": { + "file": "Karat - Über sieben Brücken musst du gehn.mp3", + "title": "Über sieben Brücken musst du gehn", + "artist": "Karat", + "mbid": "9a2b3c81-4aa3-4f2f-adf3-f2a703ee7ba6", + "earliestDate": "1978", + "year": 1978, + "confidence": { + "mbScore": 100, + "titleSim": 0.6666666666666666, + "artistSim": 1, + "durationMs": 227997, + "matchedDurationMs": null + } + }, + "katy perry|firework": { + "file": "Katy Perry - Firework.mp3", + "title": "Firework", + "artist": "Katy Perry", + "mbid": "9846e3f4-7bb9-49be-8e91-837a5ee5cefb", + "earliestDate": "2010-08-24", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 227918, + "matchedDurationMs": 227893 + } + }, + "kc and the sunshine band|give it up": { + "file": "Kc & The Sunshine Band - Give It Up.mp3", + "title": "Give It Up", + "artist": "Kc & The Sunshine Band", + "mbid": "504a0aae-6b12-49bd-b269-40cb438d2542", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 244219, + "matchedDurationMs": 250000 + } + }, + "kelly clarkson|because of you": { + "file": "Kelly Clarkson - Because of You.mp3", + "title": "Because of You", + "artist": "Kelly Clarkson", + "mbid": "cd52b2b1-28d4-4885-9f1d-b44b8caf07f7", + "earliestDate": "2003", + "year": 2003, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219533, + "matchedDurationMs": 220000 + } + }, + "kim carnes|bette davis eyes": { + "file": "Kim Carnes - Bette Davis Eyes.mp3", + "title": "Bette Davis Eyes", + "artist": "Kim Carnes", + "mbid": "44140ecd-ca40-4d45-8c3e-c4df35ca0462", + "earliestDate": "1981-03", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 225672, + "matchedDurationMs": 224373 + } + }, + "kool and the gang|celebration": { + "file": "Kool & The Gang - Celebration.mp3", + "title": "Celebration", + "artist": "Kool & The Gang", + "mbid": "827f8d82-644d-4b8b-b00a-6a1b256271e4", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 298057, + "matchedDurationMs": 188893 + } + }, + "kraftwerk|autobahn": { + "file": "Kraftwerk - Autobahn.mp3", + "title": "Autobahn", + "artist": "Kraftwerk", + "mbid": "0d25c932-671d-4850-a70e-d8046153fff6", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 866926, + "matchedDurationMs": 186000 + } + }, + "lady gaga|poker face": { + "file": "Lady Gaga - Poker Face.mp3", + "title": "Poker Face", + "artist": "Lady Gaga", + "mbid": "47042d5b-3df8-4d01-8b7e-c94d9e18f36e", + "earliestDate": "2009-11-16", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 237244, + "matchedDurationMs": 237933 + } + }, + "las ketchup|the ketchup song aserej spanglish version": { + "file": "Las Ketchup - The Ketchup Song (Aserejé) (Spanglish Version).mp3", + "title": "The Ketchup Song (Aserejé) (Spanglish Version)", + "artist": "Las Ketchup", + "mbid": "3e209f11-97f6-409f-910a-7571156adc81", + "earliestDate": "2002-07-30", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 0.7142857142857143, + "artistSim": 1, + "durationMs": 216372, + "matchedDurationMs": 212000 + } + }, + "led zeppelin|whole lotta love": { + "file": "Led Zeppelin - Whole Lotta Love.mp3", + "title": "Whole Lotta Love", + "artist": "Led Zeppelin", + "mbid": "941a8aa9-debb-4970-bc1b-df81f6ef7797", + "earliestDate": "1999", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 334602, + "matchedDurationMs": 654000 + } + }, + "lenny kravitz|fly away": { + "file": "Lenny Kravitz - Fly Away.mp3", + "title": "Fly Away", + "artist": "Lenny Kravitz", + "mbid": "90f7b7f3-3815-4344-95ca-98b28b5591a5", + "earliestDate": "1998-04-29", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221362, + "matchedDurationMs": 221893 + } + }, + "leo sayer|when i need you": { + "file": "Leo Sayer - When I Need You.mp3", + "title": "When I Need You", + "artist": "Leo Sayer", + "mbid": "cd80566e-4829-4e4c-b708-d57a16be9efd", + "earliestDate": "1976", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 250070, + "matchedDurationMs": 238000 + } + }, + "lewis capaldi|someone you loved": { + "file": "Lewis Capaldi - Someone You Loved.mp3", + "title": "Someone You Loved", + "artist": "Lewis Capaldi", + "mbid": "cc95aec7-4a2e-4b66-bf41-e60f3bff1378", + "earliestDate": "2018-11-08", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 182204, + "matchedDurationMs": 182173 + } + }, + "limahl|never ending story": { + "file": "Limahl - Never Ending Story.mp3", + "title": "Never Ending Story", + "artist": "Limahl", + "mbid": "a0dd53f9-a30d-463b-8ff6-27af6c8d2d2e", + "earliestDate": "1996-08-01", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210051, + "matchedDurationMs": 212040 + } + }, + "linda ronstadt|blue bayou": { + "file": "Linda Ronstadt - Blue Bayou.mp3", + "title": "Blue Bayou", + "artist": "Linda Ronstadt", + "mbid": "1cf41f14-2597-41d1-b113-a902b69d6f1b", + "earliestDate": "1977", + "year": 1977, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 239438, + "matchedDurationMs": 235000 + } + }, + "lionel richie|dancing on the ceiling": { + "file": "Lionel Richie - Dancing On The Ceiling.mp3", + "title": "Dancing On The Ceiling", + "artist": "Lionel Richie", + "mbid": "a393ce94-3cbc-4723-97de-7a270bb7b606", + "earliestDate": "1985", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 270759, + "matchedDurationMs": 272693 + } + }, + "little eva|the locomotion": { + "file": "Little Eva - The Locomotion.mp3", + "title": "The Locomotion", + "artist": "Little Eva", + "mbid": "77077947-1945-421a-bdb7-fd057a9ec546", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 139154, + "matchedDurationMs": 146000 + } + }, + "little richard|good golly miss molly": { + "file": "Little Richard - Good Golly Miss Molly.mp3", + "title": "Good Golly Miss Molly", + "artist": "Little Richard", + "mbid": "85391381-e729-46a9-8c5e-a36cc1923a3d", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 127425, + "matchedDurationMs": 130000 + } + }, + "loreen|euphoria": { + "file": "Loreen - Euphoria.mp3", + "title": "Euphoria", + "artist": "Loreen", + "mbid": "ca9a12c2-1aea-4190-afa5-6effc22004d1", + "earliestDate": "2012-10-22", + "year": 2012, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 212689, + "matchedDurationMs": 213000 + } + }, + "lukas graham|7 years": { + "file": "Lukas Graham - 7 Years.mp3", + "title": "7 Years", + "artist": "Lukas Graham", + "mbid": "87e36ab4-6914-44ab-b740-7abb37678040", + "earliestDate": "2015-06-16", + "year": 2015, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 237349, + "matchedDurationMs": 237300 + } + }, + "lynyrd skynyrd|sweet home alabama": { + "file": "Lynyrd Skynyrd - Sweet Home Alabama.mp3", + "title": "Sweet Home Alabama", + "artist": "Lynyrd Skynyrd", + "mbid": "8392991c-3929-4bf9-a8fb-461bb9aca76d", + "earliestDate": "1976-09", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 281182, + "matchedDurationMs": 409000 + } + }, + "mabel|don't call me up": { + "file": "Mabel - Don't Call Me Up.mp3", + "title": "Don't Call Me Up", + "artist": "Mabel", + "mbid": "310c7a8c-aa77-4ade-b9ea-02dee4aec084", + "earliestDate": "2019-01-18", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178521, + "matchedDurationMs": 178480 + } + }, + "mad'house|like a prayer": { + "file": "Mad'House - Like a Prayer.mp3", + "title": "Like a Prayer", + "artist": "Mad'House", + "mbid": "e2f73fc3-edf1-4f62-b141-194550376ea6", + "earliestDate": "2002-07-22", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264333, + "matchedDurationMs": 264120 + } + }, + "manfred mann|do wah diddy diddy": { + "file": "Manfred Mann - Do Wah Diddy Diddy.mp3", + "title": "Do Wah Diddy Diddy", + "artist": "Manfred Mann", + "mbid": "a1b99918-faf7-42bc-b0e3-51054f58b386", + "earliestDate": "1976", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 144196, + "matchedDurationMs": null + } + }, + "manuela|schuld war nur der bossa nova": { + "file": "Manuela - Schuld war nur der Bossa Nova.mp3", + "title": "Schuld war nur der Bossa Nova", + "artist": "Manuela", + "mbid": "8621d084-848e-42b7-b909-238ce065f6c3", + "earliestDate": "1963", + "year": 1963, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 145084, + "matchedDurationMs": 145813 + } + }, + "mark morrison|return of the mack": { + "file": "Mark Morrison - Return of the Mack.mp3", + "title": "Return of the Mack", + "artist": "Mark Morrison", + "mbid": "bd45a28c-ad2a-4d33-a631-2fdc5d4e2c5c", + "earliestDate": "1996", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 213133, + "matchedDurationMs": 100000 + } + }, + "markus|ich will spass": { + "file": "Markus - Ich will Spass.mp3", + "title": "Ich will Spass", + "artist": "Markus", + "mbid": "2e6c7eb5-853b-4376-aad1-d21b1793c7b2", + "earliestDate": "1982-05", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178129, + "matchedDurationMs": 197000 + } + }, + "marvin gaye|i heard it through the grapevine": { + "file": "Marvin Gaye - I Heard It Through The Grapevine.mp3", + "title": "I Heard It Through The Grapevine", + "artist": "Marvin Gaye", + "mbid": "d97b9286-07ce-436f-bb31-2d880b9476ee", + "earliestDate": "1988", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194821, + "matchedDurationMs": 234000 + } + }, + "matthias reim|verdammt ich lieb' dich": { + "file": "Matthias Reim - Verdammt Ich lieb' dich.mp3", + "title": "Verdammt Ich lieb' dich", + "artist": "Matthias Reim", + "mbid": "ab17d759-63e6-42a0-af22-f175e9c482a7", + "earliestDate": "1990-06-15", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219559, + "matchedDurationMs": 219000 + } + }, + "max giesinger|80 millionen": { + "file": "Max Giesinger - 80 Millionen.mp3", + "title": "80 Millionen", + "artist": "Max Giesinger", + "mbid": "14ce7941-57b1-4ed4-a326-b241cf4a389b", + "earliestDate": "2016-02-19", + "year": 2016, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 217078, + "matchedDurationMs": 215000 + } + }, + "meat loaf|paradise by the dashboard light": { + "file": "Meat Loaf - Paradise By the Dashboard Light.mp3", + "title": "Paradise By the Dashboard Light", + "artist": "Meat Loaf", + "mbid": "bb1bffbd-122a-44f4-8f8d-2d847393fa78", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 508369, + "matchedDurationMs": 253000 + } + }, + "meghan trainor|all about that bass": { + "file": "Meghan Trainor - All About That Bass.mp3", + "title": "All About That Bass", + "artist": "Meghan Trainor", + "mbid": "759edfb8-0b3c-4d4b-9538-a4e20f21f1e3", + "earliestDate": "2014-02-16", + "year": 2014, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 188787, + "matchedDurationMs": 188163 + } + }, + "michael holm|tr nen l gen nicht": { + "file": "Michael Holm - Tränen lügen nicht.mp3", + "title": "Tränen lügen nicht", + "artist": "Michael Holm", + "mbid": "9aba3c14-ba03-4cba-bd25-5e77853ae206", + "earliestDate": "1974", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240274, + "matchedDurationMs": 238000 + } + }, + "mika|relax take it easy": { + "file": "MIKA - Relax, Take It Easy.mp3", + "title": "Relax, Take It Easy", + "artist": "MIKA", + "mbid": "4ab862ea-e6da-4ced-8f9a-6f14ae8d9732", + "earliestDate": "2006-10-02", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 270028, + "matchedDurationMs": 223000 + } + }, + "mike the mechanics|the living years": { + "file": "Mike + The Mechanics - The Living Years.mp3", + "title": "The Living Years", + "artist": "Mike + The Mechanics", + "mbid": "72b6d683-4b86-4f12-9a30-89141f465c01", + "earliestDate": "1988-10-28", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 322534, + "matchedDurationMs": 332000 + } + }, + "miley cyrus|wrecking ball": { + "file": "Miley Cyrus - Wrecking Ball.mp3", + "title": "Wrecking Ball", + "artist": "Miley Cyrus", + "mbid": "8c8b2d45-6043-47c5-8c12-16fb8050817b", + "earliestDate": "2013-08-25", + "year": 2013, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221388, + "matchedDurationMs": 222000 + } + }, + "modjo|lady hear me tonight": { + "file": "Modjo - Lady (Hear Me Tonight).mp3", + "title": "Lady (Hear Me Tonight)", + "artist": "Modjo", + "mbid": "72b9408f-52b2-4f4f-863c-96e8eea64dca", + "earliestDate": "2000-06-19", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 307200, + "matchedDurationMs": 305600 + } + }, + "mungo jerry|in the summertime": { + "file": "Mungo Jerry - In The Summertime.mp3", + "title": "In The Summertime", + "artist": "Mungo Jerry", + "mbid": "5f86a334-1c75-4a61-85d9-77a113519773", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 211592, + "matchedDurationMs": 205466 + } + }, + "nancy sinatra|these boots are made for walkin'": { + "file": "Nancy Sinatra - These Boots Are Made For Walkin'.mp3", + "title": "These Boots Are Made For Walkin'", + "artist": "Nancy Sinatra", + "mbid": "ccba168d-bcfe-4564-a9e1-8cacc3307545", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163161, + "matchedDurationMs": 162893 + } + }, + "natalie imbruglia|torn": { + "file": "Natalie Imbruglia - Torn.mp3", + "title": "Torn", + "artist": "Natalie Imbruglia", + "mbid": "95b471ad-50cd-49d4-9f23-2735c7dc3fe5", + "earliestDate": "1997-10-24", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 244715, + "matchedDurationMs": 245000 + } + }, + "neil diamond|sweet caroline": { + "file": "Neil Diamond - Sweet Caroline.mp3", + "title": "Sweet Caroline", + "artist": "Neil Diamond", + "mbid": "78ea7ea5-a451-4efe-b1fe-840f0697a419", + "earliestDate": "1969", + "year": 1969, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 203024, + "matchedDurationMs": 170000 + } + }, + "nena|99 luftballons": { + "file": "Nena - 99 Luftballons.mp3", + "title": "99 Luftballons", + "artist": "Nena", + "mbid": "f4655387-c676-4b07-9a27-f560ba254170", + "earliestDate": "1983-01-14", + "year": 1983, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 231602, + "matchedDurationMs": 231946 + } + }, + "new radicals|you get what you give": { + "file": "New Radicals - You Get What You Give.mp3", + "title": "You Get What You Give", + "artist": "New Radicals", + "mbid": "8ea9f2d4-c255-4201-b3c1-815571da013a", + "earliestDate": "1998-10-20", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 300800, + "matchedDurationMs": 300000 + } + }, + "nickelback|how you remind me": { + "file": "Nickelback - How You Remind Me.mp3", + "title": "How You Remind Me", + "artist": "Nickelback", + "mbid": "5d789be8-fedf-4ddb-a429-0977731fb9ab", + "earliestDate": "2000", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 223869, + "matchedDurationMs": 223746 + } + }, + "nirvana|smells like teen spirit": { + "file": "Nirvana - Smells Like Teen Spirit.mp3", + "title": "Smells Like Teen Spirit", + "artist": "Nirvana", + "mbid": "23e47fd5-b790-4577-9b70-8ad296e80c4f", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 301949, + "matchedDurationMs": 300826 + } + }, + "no doubt|don't speak": { + "file": "No Doubt - Don't Speak.mp3", + "title": "Don't Speak", + "artist": "No Doubt", + "mbid": "75f82744-5d4d-417c-b276-37dc4c17a98d", + "earliestDate": "1995-10-10", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 262792, + "matchedDurationMs": 263000 + } + }, + "oasis|wonderwall": { + "file": "Oasis - Wonderwall.mp3", + "title": "Wonderwall", + "artist": "Oasis", + "mbid": "bc395cc7-a3de-4fe5-987c-c1d44951007c", + "earliestDate": "1996", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 258952, + "matchedDurationMs": 258000 + } + }, + "olivia rodrigo|drivers license": { + "file": "Olivia Rodrigo - drivers license.mp3", + "title": "drivers license", + "artist": "Olivia Rodrigo", + "mbid": "88af1d59-e809-48bb-8a89-745bd05f0ae0", + "earliestDate": "2021-01-08", + "year": 2021, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 242051, + "matchedDurationMs": 242013 + } + }, + "onerepublic|counting stars": { + "file": "OneRepublic - Counting Stars.mp3", + "title": "Counting Stars", + "artist": "OneRepublic", + "mbid": "d03a0d3b-a3c5-44f4-9af7-34c76ccaedb2", + "earliestDate": "2013-03-22", + "year": 2013, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 257306, + "matchedDurationMs": 257000 + } + }, + "owl city|fireflies": { + "file": "Owl City - Fireflies.mp3", + "title": "Fireflies", + "artist": "Owl City", + "mbid": "059a2012-0bcf-4ef3-b550-69448247d1da", + "earliestDate": "2009-01-01", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 228389, + "matchedDurationMs": 228000 + } + }, + "o zone|dragostea din tei": { + "file": "O-Zone - Dragostea Din Tei.mp3", + "title": "Dragostea Din Tei", + "artist": "O-Zone", + "mbid": "51a44337-22fc-404a-a4c5-2f3e29fb2754", + "earliestDate": "2003-06-03", + "year": 2003, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215432, + "matchedDurationMs": 215000 + } + }, + "patrick hernandez|born to be alive the original": { + "file": "Patrick Hernandez - Born to Be Alive (The Original).mp3", + "title": "Born to Be Alive (The Original)", + "artist": "Patrick Hernandez", + "mbid": "0ce4e960-216e-431c-9362-ee2dbd6c2682", + "earliestDate": null, + "year": null, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 188160, + "matchedDurationMs": 188133 + } + }, + "paul simon|you can call me al": { + "file": "Paul Simon - You Can Call Me Al.mp3", + "title": "You Can Call Me Al", + "artist": "Paul Simon", + "mbid": "01e1696b-b3c7-4ffe-a42b-ec2c952f7429", + "earliestDate": "1986-08-29", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 276402, + "matchedDurationMs": 280226 + } + }, + "percy sledge|when a man loves a woman": { + "file": "Percy Sledge - When a Man Loves a Woman.mp3", + "title": "When a Man Loves a Woman", + "artist": "Percy Sledge", + "mbid": "30417b50-9c3f-4708-befb-98caaa417051", + "earliestDate": "1972", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 173714, + "matchedDurationMs": 168666 + } + }, + "peter fox|haus am see": { + "file": "Peter Fox - Haus am See.mp3", + "title": "Haus am See", + "artist": "Peter Fox", + "mbid": "44b07fda-fc5c-4458-ac2d-217867d74b6f", + "earliestDate": "2008-09-26", + "year": 2008, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214570, + "matchedDurationMs": 216026 + } + }, + "peter kraus|sugar baby": { + "file": "Peter Kraus - Sugar-Baby.mp3", + "title": "Sugar-Baby", + "artist": "Peter Kraus", + "mbid": "69d8fc52-87ae-46e6-a332-02c3f7a28f1c", + "earliestDate": "1958", + "year": 1958, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 150674, + "matchedDurationMs": 151693 + } + }, + "peter schilling|major tom v llig losgel st": { + "file": "Peter Schilling - Major Tom (...völlig losgelöst).mp3", + "title": "Major Tom (...völlig losgelöst)", + "artist": "Peter Schilling", + "mbid": "318e146e-60f9-4298-8d4a-78b2657f668f", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 299598, + "matchedDurationMs": 299973 + } + }, + "plastic bertrand|ca plane pour moi": { + "file": "Plastic Bertrand - Ca plane pour moi.mp3", + "title": "Ca plane pour moi", + "artist": "Plastic Bertrand", + "mbid": "e1299622-8676-405a-9d0a-4ae7f2528e2f", + "earliestDate": "1977", + "year": 1977, + "confidence": { + "mbScore": 100, + "titleSim": 0.6, + "artistSim": 1, + "durationMs": 182178, + "matchedDurationMs": 179026 + } + }, + "portugal the man|feel it still": { + "file": "Portugal. The Man - Feel It Still.mp3", + "title": "Feel It Still", + "artist": "Portugal. The Man", + "mbid": "6728f2b7-dec1-4098-8c91-362db1d0ff31", + "earliestDate": "2017-03-02", + "year": 2017, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163291, + "matchedDurationMs": 162092 + } + }, + "post malone|circles": { + "file": "Post Malone - Circles.mp3", + "title": "Circles", + "artist": "Post Malone", + "mbid": "9d0a9e5c-a765-40ab-837e-99b0bb197f6c", + "earliestDate": "2019-08-30", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214936, + "matchedDurationMs": 215080 + } + }, + "prince|purple rain": { + "file": "Prince - Purple Rain.mp3", + "title": "Purple Rain", + "artist": "Prince", + "mbid": "255dd412-840f-4038-8dc1-60db9543ec9f", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 524696, + "matchedDurationMs": 109000 + } + }, + "pur|abenteuerland": { + "file": "Pur - Abenteuerland.mp3", + "title": "Abenteuerland", + "artist": "Pur", + "mbid": "54e6351f-05d4-42cf-bb1c-e07cad78bc60", + "earliestDate": "1995", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 280895, + "matchedDurationMs": 281973 + } + }, + "r e m|everybody hurts": { + "file": "R.E.M. - Everybody Hurts.mp3", + "title": "Everybody Hurts", + "artist": "R.E.M.", + "mbid": "03af00eb-4da6-4131-837e-5e57c288802a", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 320313, + "matchedDurationMs": 329000 + } + }, + "rammstein|engel": { + "file": "Rammstein - Engel.mp3", + "title": "Engel", + "artist": "Rammstein", + "mbid": "b96f272b-3370-4a6b-ba53-1e905374a451", + "earliestDate": "1997-04-01", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264307, + "matchedDurationMs": 264600 + } + }, + "red hot chili peppers|under the bridge": { + "file": "Red Hot Chili Peppers - Under the Bridge.mp3", + "title": "Under the Bridge", + "artist": "Red Hot Chili Peppers", + "mbid": "2e9808d0-29e3-4f36-9ce6-5ed3914f3b2b", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264333, + "matchedDurationMs": 266200 + } + }, + "rednex|cotton eye joe": { + "file": "Rednex - Cotton Eye Joe.mp3", + "title": "Cotton Eye Joe", + "artist": "Rednex", + "mbid": "6d436fb9-4ec7-4141-9575-739b1e02a52f", + "earliestDate": "1994-07-21", + "year": 1994, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194038, + "matchedDurationMs": 192000 + } + }, + "reinhard mey|ber den wolken": { + "file": "Reinhard Mey - Über den Wolken.mp3", + "title": "Über den Wolken", + "artist": "Reinhard Mey", + "mbid": "c3af23bd-ac48-4994-aa45-ff97529150bd", + "earliestDate": "1974", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 233169, + "matchedDurationMs": 229000 + } + }, + "richard marx|right here waiting": { + "file": "Richard Marx - Right Here Waiting.mp3", + "title": "Right Here Waiting", + "artist": "Richard Marx", + "mbid": "f74ddcbf-bcf6-42fd-8557-485b047cc276", + "earliestDate": "1989", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 262766, + "matchedDurationMs": 262826 + } + }, + "rick james|super freak": { + "file": "Rick James - Super Freak.mp3", + "title": "Super Freak", + "artist": "Rick James", + "mbid": "bb507204-50d1-4a76-9037-1f8f62da7ac5", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 204460, + "matchedDurationMs": 206440 + } + }, + "rio reiser|k nig von deutschland": { + "file": "Rio Reiser - König Von Deutschland.mp3", + "title": "König Von Deutschland", + "artist": "Rio Reiser", + "mbid": "cf00a4dd-41ab-4097-8f8a-97f208968c87", + "earliestDate": "1986-11", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 208327, + "matchedDurationMs": 208000 + } + }, + "ritchie valens|la bamba": { + "file": "Ritchie Valens - La Bamba.mp3", + "title": "La Bamba", + "artist": "Ritchie Valens", + "mbid": "821f5395-f90f-432f-a807-da8dbb45ceb6", + "earliestDate": "1963", + "year": 1963, + "confidence": { + "mbScore": 96, + "titleSim": 1, + "artistSim": 1, + "durationMs": 129254, + "matchedDurationMs": null + } + }, + "robbie williams|feel": { + "file": "Robbie Williams - Feel.mp3", + "title": "Feel", + "artist": "Robbie Williams", + "mbid": "6f99d9a8-8001-4166-974f-4580bbec8ad5", + "earliestDate": "2002-11-18", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 263915, + "matchedDurationMs": 263866 + } + }, + "roxette|joyride": { + "file": "Roxette - Joyride.mp3", + "title": "Joyride", + "artist": "Roxette", + "mbid": "82c72383-3863-4502-bf2a-cd1a53e2c489", + "earliestDate": "1991-03-27", + "year": 1991, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 263131, + "matchedDurationMs": 264573 + } + }, + "roy orbison|oh pretty woman": { + "file": "Roy Orbison - Oh, Pretty Woman.mp3", + "title": "Oh, Pretty Woman", + "artist": "Roy Orbison", + "mbid": "6e765877-678d-488a-ad1e-ee8e315a92cb", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 95, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178965, + "matchedDurationMs": 178160 + } + }, + "rupert holmes|escape the pina colada song": { + "file": "Rupert Holmes - Escape (The Pina Colada Song).mp3", + "title": "Escape (The Pina Colada Song)", + "artist": "Rupert Holmes", + "mbid": "71709e8c-fb6b-48c6-972a-851ecff0a60d", + "earliestDate": "1979", + "year": 1979, + "confidence": { + "mbScore": 100, + "titleSim": 0.5714285714285714, + "artistSim": 1, + "durationMs": 276454, + "matchedDurationMs": 277000 + } + }, + "sam the sham and the pharaohs|wooly bully": { + "file": "Sam the Sham & The Pharaohs - Wooly Bully.mp3", + "title": "Wooly Bully", + "artist": "Sam the Sham & The Pharaohs", + "mbid": "441daaeb-c91a-40bc-86bd-7ff3baafcc4f", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 138893, + "matchedDurationMs": 139000 + } + }, + "scorpions|wind of change": { + "file": "Scorpions - Wind of Change.mp3", + "title": "Wind of Change", + "artist": "Scorpions", + "mbid": "ab532d7e-1ff0-44cf-a229-301c3506aad6", + "earliestDate": "1991", + "year": 1991, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 308898, + "matchedDurationMs": 314000 + } + }, + "sia|cheap thrills": { + "file": "Sia - Cheap Thrills.mp3", + "title": "Cheap Thrills", + "artist": "Sia", + "mbid": "8fcdf7b9-6a1c-40c5-aae0-a489dc8898ef", + "earliestDate": "2015-12-17", + "year": 2015, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 211696, + "matchedDurationMs": 211000 + } + }, + "silbermond|das beste": { + "file": "Silbermond - Das Beste.mp3", + "title": "Das Beste", + "artist": "Silbermond", + "mbid": "1fb661ee-5789-4ec3-a372-55417788a089", + "earliestDate": "2005-04-18", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 284578, + "matchedDurationMs": 359000 + } + }, + "sin ad o'connor|nothing compares 2 u": { + "file": "Sinéad O'Connor - Nothing Compares 2 U.mp3", + "title": "Nothing Compares 2 U", + "artist": "Sinéad O'Connor", + "mbid": "cfa03e25-2700-490c-b087-9bc8feec5cb5", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 280085, + "matchedDurationMs": 286760 + } + }, + "sister sledge|we are family 1995 remaster": { + "file": "Sister Sledge - We Are Family (1995 Remaster).mp3", + "title": "We Are Family (1995 Remaster)", + "artist": "Sister Sledge", + "mbid": "94f14692-3dc9-458f-a9ae-4bac3acff1b4", + "earliestDate": "2018-10-12", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 216764, + "matchedDurationMs": 216733 + } + }, + "siw malmkvist|liebeskummer lohnt sich nicht": { + "file": "Siw Malmkvist - Liebeskummer lohnt sich nicht.mp3", + "title": "Liebeskummer lohnt sich nicht", + "artist": "Siw Malmkvist", + "mbid": "596704c7-dfc3-42dc-ad0d-e72fc3ac72fb", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 148846, + "matchedDurationMs": null + } + }, + "snow|informer": { + "file": "SNoW - Informer.mp3", + "title": "Informer", + "artist": "SNoW", + "mbid": "81d0e771-20f9-450e-9c54-83af3687f304", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 268957, + "matchedDurationMs": 268306 + } + }, + "sonny and cher|i got you babe": { + "file": "Sonny & Cher - I Got You Babe.mp3", + "title": "I Got You Babe", + "artist": "Sonny & Cher", + "mbid": "ba61515c-1829-449c-bdb5-fb0f6a13e327", + "earliestDate": "1965", + "year": 1965, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 190119, + "matchedDurationMs": 190800 + } + }, + "sophie ellis bextor|murder on the dancefloor": { + "file": "Sophie Ellis-Bextor - Murder On The Dancefloor.mp3", + "title": "Murder On The Dancefloor", + "artist": "Sophie Ellis-Bextor", + "mbid": "19164602-a33e-4da7-8bdd-7ede0897c47c", + "earliestDate": "2001-12-03", + "year": 2001, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 230060, + "matchedDurationMs": 233000 + } + }, + "spice girls|stop": { + "file": "Spice Girls - Stop.mp3", + "title": "Stop", + "artist": "Spice Girls", + "mbid": "efeb152f-6eb4-485e-a547-3dfc8dad5346", + "earliestDate": "1997-10-31", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 204826, + "matchedDurationMs": 204880 + } + }, + "spider murphy gang|skandal im sperrbezirk": { + "file": "Spider Murphy Gang - Skandal im Sperrbezirk.mp3", + "title": "Skandal im Sperrbezirk", + "artist": "Spider Murphy Gang", + "mbid": "526ac780-1b4a-4525-bd59-586946e893de", + "earliestDate": "1981-09", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219611, + "matchedDurationMs": 217000 + } + }, + "sportfreunde stiller|ein kompliment": { + "file": "Sportfreunde Stiller - Ein Kompliment.mp3", + "title": "Ein Kompliment", + "artist": "Sportfreunde Stiller", + "mbid": "4a7ef2eb-2829-4946-a6bb-672373f4fb0e", + "earliestDate": "2002-03-04", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 198426, + "matchedDurationMs": 198000 + } + }, + "steppenwolf|born to be wild": { + "file": "Steppenwolf - Born To Be Wild.mp3", + "title": "Born To Be Wild", + "artist": "Steppenwolf", + "mbid": "28795e75-878f-48af-aa18-5f27ae6361fd", + "earliestDate": "1970-04", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 209450, + "matchedDurationMs": 343000 + } + }, + "stevie wonder|part time lover": { + "file": "Stevie Wonder - Part-Time Lover.mp3", + "title": "Part-Time Lover", + "artist": "Stevie Wonder", + "mbid": "db0a4b68-5dc2-44b6-95c9-752b5ec69e66", + "earliestDate": "1985-05-07", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 252604, + "matchedDurationMs": 249000 + } + }, + "sylvester|you make me feel mighty real": { + "file": "Sylvester - You Make Me Feel (Mighty Real).mp3", + "title": "You Make Me Feel (Mighty Real)", + "artist": "Sylvester", + "mbid": "7134eba5-f912-426c-a44d-7c19d9d4706c", + "earliestDate": "1979", + "year": 1979, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 400144, + "matchedDurationMs": null + } + }, + "the bangles|manic monday": { + "file": "The Bangles - Manic Monday.mp3", + "title": "Manic Monday", + "artist": "The Bangles", + "mbid": "2d2338fc-7ace-47fe-a36f-02c8db809a52", + "earliestDate": "1985", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 185339, + "matchedDurationMs": 183000 + } + }, + "the beach boys|good vibrations": { + "file": "The Beach Boys - Good Vibrations.mp3", + "title": "Good Vibrations", + "artist": "The Beach Boys", + "mbid": "e9eb684a-5c5a-485e-ac76-ce799aeba7a0", + "earliestDate": "1974", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 217025, + "matchedDurationMs": 217000 + } + }, + "the beach boys|surfin' u s a": { + "file": "The Beach Boys - Surfin' U.S.A. (Mono).mp3", + "title": "Surfin' U.S.A. (Mono)", + "artist": "The Beach Boys", + "mbid": "fa52f01e-6c8c-46ff-860d-daa4930f93a4", + "earliestDate": "2008-06-10", + "year": 2008, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 150570, + "matchedDurationMs": 148666 + } + }, + "the chordettes|lollipop": { + "file": "The Chordettes - Lollipop.mp3", + "title": "Lollipop", + "artist": "The Chordettes", + "mbid": "ed626d61-415e-4a4c-bcc0-89805243ab8b", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 131056, + "matchedDurationMs": 130000 + } + }, + "the commodores|easy": { + "file": "The Commodores - Easy.mp3", + "title": "Easy", + "artist": "The Commodores", + "mbid": "0b0e1974-584b-44c3-90f1-ed43ac8b920d", + "earliestDate": "2002", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 256731, + "matchedDurationMs": 257000 + } + }, + "the cranberries|zombie": { + "file": "The Cranberries - Zombie.mp3", + "title": "Zombie", + "artist": "The Cranberries", + "mbid": "5f843af3-5d20-433c-9cf7-4413c92073bc", + "earliestDate": "1994-09", + "year": 1994, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 307644, + "matchedDurationMs": 315000 + } + }, + "the cure|friday i'm in love": { + "file": "The Cure - Friday I'm In Love.mp3", + "title": "Friday I'm In Love", + "artist": "The Cure", + "mbid": "bde8feda-2711-42ab-b6b0-9f9ad8c8e66c", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215197, + "matchedDurationMs": 207133 + } + }, + "the four seasons|december 1963 oh what a night": { + "file": "The Four Seasons - December, 1963 (Oh What a Night!).mp3", + "title": "December, 1963 (Oh What a Night!)", + "artist": "The Four Seasons", + "mbid": "f22db82f-6c55-45cf-966c-ad64662bba5b", + "earliestDate": "1975-11", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 201143, + "matchedDurationMs": 212000 + } + }, + "the hollies|he ain't heavy he's my brother": { + "file": "The Hollies - He Ain't Heavy He's My Brother.mp3", + "title": "He Ain't Heavy He's My Brother", + "artist": "The Hollies", + "mbid": "da9e8196-4677-4b5f-8285-ee5e8699459a", + "earliestDate": "1969-09-01", + "year": 1969, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 258847, + "matchedDurationMs": 257426 + } + }, + "the human league|don't you want me": { + "file": "The Human League - Don't You Want Me.mp3", + "title": "Don't You Want Me", + "artist": "The Human League", + "mbid": "a1280d2b-d7f2-44fd-ae6c-dec441749bb8", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 236957, + "matchedDurationMs": 236000 + } + }, + "the kinks|lola": { + "file": "The Kinks - Lola.mp3", + "title": "Lola", + "artist": "The Kinks", + "mbid": "8f86baef-a44a-4033-8c6b-3e4fb06e7e14", + "earliestDate": "1970-06-12", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 243357, + "matchedDurationMs": 230000 + } + }, + "the monkees|i'm a believer": { + "file": "The Monkees - I'm a Believer.mp3", + "title": "I'm a Believer", + "artist": "The Monkees", + "mbid": "1bb8b072-d300-4940-be9c-28800f15a29a", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 165642, + "matchedDurationMs": 164000 + } + }, + "the police|every breath you take": { + "file": "The Police - Every Breath You Take (Remastered 2003).mp3", + "title": "Every Breath You Take (Remastered 2003)", + "artist": "The Police", + "mbid": "e60981c2-c79a-4687-ac26-7ad730fe34e6", + "earliestDate": "2023-08-11", + "year": 2023, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 254250, + "matchedDurationMs": 253960 + } + }, + "the rolling stones|i can't get no satisfaction": { + "file": "The Rolling Stones - (I Can't Get No) Satisfaction (Mono).mp3", + "title": "(I Can't Get No) Satisfaction (Mono)", + "artist": "The Rolling Stones", + "mbid": "c02ff73a-59d3-409c-aa6a-288ad431f3d2", + "earliestDate": "2022", + "year": 2022, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 223007, + "matchedDurationMs": 223440 + } + }, + "the rolling stones|start me up": { + "file": "The Rolling Stones - Start Me Up (Remastered 2009).mp3", + "title": "Start Me Up (Remastered 2009)", + "artist": "The Rolling Stones", + "mbid": "a832bd7d-2f5a-48f3-960c-161903ddf126", + "earliestDate": "2023", + "year": 2023, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 213107, + "matchedDurationMs": 213000 + } + }, + "the supremes|you can't hurry love": { + "file": "The Supremes - You Can't Hurry Love.mp3", + "title": "You Can't Hurry Love", + "artist": "The Supremes", + "mbid": "aeb60866-b57e-4ab1-bf3b-c6b2334d4755", + "earliestDate": "1995", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 165460, + "matchedDurationMs": 170000 + } + }, + "the trammps|disco inferno": { + "file": "The Trammps - Disco Inferno.mp3", + "title": "Disco Inferno", + "artist": "The Trammps", + "mbid": "fe1bbf77-90a5-4d5d-9a7e-b002966510c8", + "earliestDate": "1976-12-29", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 659043, + "matchedDurationMs": 650866 + } + }, + "the weeknd|blinding lights": { + "file": "The Weeknd - Blinding Lights.mp3", + "title": "Blinding Lights", + "artist": "The Weeknd", + "mbid": "1a67e215-a19e-40c9-9b12-732de134bf5f", + "earliestDate": "2019-11-29", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 200072, + "matchedDurationMs": 200046 + } + }, + "thelma houston|don't leave me this way": { + "file": "Thelma Houston - Don't Leave Me This Way.mp3", + "title": "Don't Leave Me This Way", + "artist": "Thelma Houston", + "mbid": "041c3add-3ba9-408c-a47f-20cc425f7ea7", + "earliestDate": "1984-09-15", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 342387, + "matchedDurationMs": 218680 + } + }, + "tic tac toe|warum": { + "file": "Tic Tac Toe - Warum.mp3", + "title": "Warum?", + "artist": "Tic Tac Toe", + "mbid": "09d8a8c6-1519-4cb1-b296-23215d2c4715", + "earliestDate": "1997-02-24", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 202945, + "matchedDurationMs": 202000 + } + }, + "tim bendzko|nur noch kurz die welt retten": { + "file": "Tim Bendzko - Nur noch kurz die Welt retten.mp3", + "title": "Nur noch kurz die Welt retten", + "artist": "Tim Bendzko", + "mbid": "54615b3a-ebde-4855-83cc-d7b558c526e6", + "earliestDate": "2011-05-30", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 192340, + "matchedDurationMs": 191817 + } + }, + "tina turner|the best": { + "file": "Tina Turner - The Best.mp3", + "title": "The Best", + "artist": "Tina Turner", + "mbid": "c8ac6945-bd95-4ddc-b7f7-bc2237db0ef7", + "earliestDate": "1989-09-12", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 333296, + "matchedDurationMs": 329786 + } + }, + "tom jones|she's a lady": { + "file": "Tom Jones - She's A Lady.mp3", + "title": "She's A Lady", + "artist": "Tom Jones", + "mbid": "2fb5f013-77dd-4532-9f5c-10bcac7173c2", + "earliestDate": "1971", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 174184, + "matchedDurationMs": 135000 + } + }, + "tones and i|dance monkey": { + "file": "Tones and I - Dance Monkey.mp3", + "title": "Dance Monkey", + "artist": "Tones and I", + "mbid": "c0f89d6a-d740-4f91-b6e1-d5e8572268c1", + "earliestDate": "2019-05-10", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 209476, + "matchedDurationMs": 209438 + } + }, + "toploader|dancing in the moonlight": { + "file": "Toploader - Dancing in the Moonlight.mp3", + "title": "Dancing in the Moonlight", + "artist": "Toploader", + "mbid": "e392d283-545e-4522-9093-2f81cb573555", + "earliestDate": "2000", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 233404, + "matchedDurationMs": 232000 + } + }, + "torfrock|beinhart": { + "file": "Torfrock - Beinhart (Single Version).mp3", + "title": "Beinhart (Single Version)", + "artist": "Torfrock", + "mbid": "38a0743b-b925-4729-9237-1a03d721e5f7", + "earliestDate": "2006-06-25", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 198087, + "matchedDurationMs": 197967 + } + }, + "toto|africa": { + "file": "Toto - Africa.mp3", + "title": "Africa", + "artist": "Toto", + "mbid": "4d89c734-db46-4418-86c0-3f00814412bd", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 295941, + "matchedDurationMs": 244066 + } + }, + "t'pau|china in your hand": { + "file": "T'pau - China In Your Hand (Single Version).mp3", + "title": "China In Your Hand (Single Version)", + "artist": "T'pau", + "mbid": "56a5d0fc-a0c3-4e07-91b5-0c8c77b43ab2", + "earliestDate": "2009-06-08", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 247171, + "matchedDurationMs": 223880 + } + }, + "tracy chapman|fast car": { + "file": "Tracy Chapman - Fast Car.mp3", + "title": "Fast Car", + "artist": "Tracy Chapman", + "mbid": "883821fc-9bbc-4e04-be79-b4b12c4c4a4e", + "earliestDate": "1988-04-05", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 296829, + "matchedDurationMs": 296840 + } + }, + "train|hey soul sister": { + "file": "Train - Hey, Soul Sister.mp3", + "title": "Hey, Soul Sister", + "artist": "Train", + "mbid": "f939409f-c292-4a8f-ad18-3d8d4cc07376", + "earliestDate": "2009-10-26", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 216816, + "matchedDurationMs": 216699 + } + }, + "trude herr|ich will keine schokolade": { + "file": "Trude Herr - Ich will keine Schokolade.mp3", + "title": "Ich will keine Schokolade", + "artist": "Trude Herr", + "mbid": "31cf1929-bd55-46bc-b33d-3e323e1c4a3c", + "earliestDate": "1960", + "year": 1960, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 147069, + "matchedDurationMs": 145760 + } + }, + "u96|das boot": { + "file": "U96 - Das Boot.mp3", + "title": "Das Boot", + "artist": "U96", + "mbid": "640e5c64-e006-4026-bea4-ca5b7ee8ec28", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 314044, + "matchedDurationMs": 314000 + } + }, + "udo j rgens|siebzehn jahr blondes haar": { + "file": "Udo Jürgens - Siebzehn Jahr, blondes Haar.mp3", + "title": "Siebzehn Jahr, blondes Haar", + "artist": "Udo Jürgens", + "mbid": "133f4646-b4bb-4e98-9573-2945997301f5", + "earliestDate": "1965", + "year": 1965, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 152111, + "matchedDurationMs": 142000 + } + }, + "unheilig|geboren um zu leben": { + "file": "Unheilig - Geboren um zu leben.mp3", + "title": "Geboren um zu leben", + "artist": "Unheilig", + "mbid": "a88a1877-700b-4290-b796-0ae5b6a896ae", + "earliestDate": "2010-01-29", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 230504, + "matchedDurationMs": 230000 + } + }, + "van mccoy and the soul city symphony|the hustle": { + "file": "Van McCoy & The Soul City Symphony - The Hustle.mp3", + "title": "The Hustle", + "artist": "Van McCoy & The Soul City Symphony", + "mbid": "cc1c08ef-ba53-4e58-a2be-865cdfc30b1a", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 242887, + "matchedDurationMs": 249200 + } + }, + "vanilla ice|ice ice baby": { + "file": "Vanilla Ice - Ice Ice Baby.mp3", + "title": "Ice Ice Baby", + "artist": "Vanilla Ice", + "mbid": "1cd7d430-7daf-4758-bad1-1c34f71d42ca", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 271517, + "matchedDurationMs": 226666 + } + }, + "vaya con dios|nah neh nah": { + "file": "Vaya Con Dios - Nah Neh Nah.mp3", + "title": "Nah Neh Nah", + "artist": "Vaya Con Dios", + "mbid": "ac8f200b-0efd-478f-abe4-7dc0266e73e9", + "earliestDate": "1990-10-31", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 173949, + "matchedDurationMs": 175000 + } + }, + "wencke myhre|er hat ein knallrotes gummiboot": { + "file": "Wencke Myhre - Er hat ein knallrotes Gummiboot.mp3", + "title": "Er hat ein knallrotes Gummiboot", + "artist": "Wencke Myhre", + "mbid": "e62b5ab5-0131-4db5-82d5-2b14a074276d", + "earliestDate": "1970", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 195918, + "matchedDurationMs": 197000 + } + }, + "whitney houston|i wanna dance with somebody who loves me": { + "file": "Whitney Houston - I Wanna Dance with Somebody (Who Loves Me).mp3", + "title": "I Wanna Dance with Somebody (Who Loves Me)", + "artist": "Whitney Houston", + "mbid": "3b100fc8-dcd9-4feb-b6e1-6fae5574f023", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 289489, + "matchedDurationMs": 284000 + } + }, + "will smith|gettin' jiggy wit it": { + "file": "Will Smith - Gettin' Jiggy Wit It.mp3", + "title": "Gettin' Jiggy Wit It", + "artist": "Will Smith", + "mbid": "979013be-6050-48d3-81cf-8fbe4130b9af", + "earliestDate": "1997-11-24", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 227971, + "matchedDurationMs": 228013 + } + }, + "wolfgang petry|wahnsinn": { + "file": "Wolfgang Petry - Wahnsinn.mp3", + "title": "Wahnsinn", + "artist": "Wolfgang Petry", + "mbid": "2e9d400a-d316-4f23-8cb0-0fe0aec42267", + "earliestDate": "1983", + "year": 1983, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 224418, + "matchedDurationMs": 210000 + } + }, + "yazoo|don't go": { + "file": "Yazoo - Don't Go.mp3", + "title": "Don't Go", + "artist": "Yazoo", + "mbid": "2a6ab198-23f1-4653-9a5f-43dd2cb56d21", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 176065, + "matchedDurationMs": 175000 + } + }, + "50 cent|in da club": { + "file": "50 Cent - In Da Club.mp3", + "title": "In Da Club", + "artist": "50 Cent", + "mbid": "e094af7b-77bc-4581-a9c6-a207b0cd5fe3", + "earliestDate": "2002", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 193515, + "matchedDurationMs": 225626 + } + }, + "abba|waterloo": { + "file": "ABBA - Waterloo.mp3", + "title": "Waterloo", + "artist": "ABBA", + "mbid": "bfdcfb41-167c-4f5b-b163-bde83bbf69ac", + "earliestDate": "1974-03-04", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 165851, + "matchedDurationMs": 166000 + } + }, + "ace of base|all that she wants": { + "file": "Ace of Base - All That She Wants.mp3", + "title": "All That She Wants", + "artist": "Ace of Base", + "mbid": "8c429ef6-3338-44b3-8d77-2fb486cd10ab", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 211252, + "matchedDurationMs": 299066 + } + }, + "adele|set fire to the rain": { + "file": "Adele - Set Fire to the Rain.mp3", + "title": "Set Fire to the Rain", + "artist": "Adele", + "mbid": "d1e0a99e-1894-457b-ba6a-985eeef4d0c4", + "earliestDate": "2011-01-19", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 243017, + "matchedDurationMs": 241693 + } + } +} \ No newline at end of file diff --git a/data/years.json b/data/years.json new file mode 100644 index 0000000..b436d8c --- /dev/null +++ b/data/years.json @@ -0,0 +1,6453 @@ +{ + "generatedAt": "2025-09-02T20:29:42.080Z", + "total": 308, + "byFile": { + "Akon - Lonely.mp3": { + "year": 2005, + "date": "2005", + "title": "Lonely", + "artist": "Akon", + "mbid": "bd49579a-c577-4df4-afc0-9c4ff7a10e18" + }, + "Alessia Cara - Scars To Your Beautiful.mp3": { + "year": 2015, + "date": "2015-03-11", + "title": "Scars To Your Beautiful", + "artist": "Alessia Cara", + "mbid": "6a8875d3-3bb5-4c5b-9498-e5f2ae6dd1d1" + }, + "Alicia Keys - Fallin'.mp3": { + "year": 2001, + "date": "2001-06-05", + "title": "Fallin'", + "artist": "Alicia Keys", + "mbid": "7276155b-a01b-42a9-9d31-eb0c317d07b8" + }, + "Alicia Keys - No One.mp3": { + "year": 2007, + "date": "2007-09-10", + "title": "No One", + "artist": "Alicia Keys", + "mbid": "83fa4748-2c91-4981-b480-23a764d69fc7" + }, + "Alphaville - Forever Young.mp3": { + "year": 1984, + "date": "1984-09-27", + "title": "Forever Young", + "artist": "Alphaville", + "mbid": "37d2fc01-4933-481b-b6e4-9039585d22d3" + }, + "Alvaro Soler - La Cintura.mp3": { + "year": 2018, + "date": "2018-03-29", + "title": "La Cintura", + "artist": "Alvaro Soler", + "mbid": "ce43ae03-91d2-41f3-84ef-2c640241c09f" + }, + "Amii Stewart - Knock On Wood.mp3": { + "year": 1979, + "date": "1979-01-15", + "title": "Knock On Wood", + "artist": "Amii Stewart", + "mbid": "1880e2a2-e47e-4a28-ad6e-c7deb444291e" + }, + "Amy Winehouse - Rehab.mp3": { + "year": 2006, + "date": "2006-10-23", + "title": "Rehab", + "artist": "Amy Winehouse", + "mbid": "873eba85-b721-4728-be2e-96ce94cccb8b" + }, + "Anastacia - Sick and Tired.mp3": { + "year": 2004, + "date": "2004-03-25", + "title": "Sick and Tired", + "artist": "Anastacia", + "mbid": "52bc36a0-2559-49bc-9b86-4a420ec9cb27" + }, + "Andreas Bourani - Auf uns.mp3": { + "year": 2014, + "date": "2014-04-25", + "title": "Auf uns", + "artist": "Andreas Bourani", + "mbid": "7b41e8fa-4b97-45c0-b260-40a443ad0466" + }, + "Annie Lennox - Why.mp3": { + "year": 1992, + "date": "1992-04-06", + "title": "Why", + "artist": "Annie Lennox", + "mbid": "28734584-3a00-4072-8e09-dc5c40c0d50a" + }, + "Aqua - Barbie Girl.mp3": { + "year": 1997, + "date": "1997-05-14", + "title": "Barbie Girl", + "artist": "Aqua", + "mbid": "5268ded7-3c3c-465b-805f-cb14e407ec2d" + }, + "Aretha Franklin - Respect.mp3": { + "year": 1971, + "date": "1971-05-19", + "title": "Respect", + "artist": "Aretha Franklin", + "mbid": "6a7014c2-dcb2-4179-a88b-f172f25a7d93" + }, + "Atomic Kitten - Whole Again.mp3": { + "year": 2001, + "date": "2001", + "title": "Whole Again", + "artist": "Atomic Kitten", + "mbid": "e8bdfb1b-3de6-43f7-b917-bd76238af931" + }, + "Avicii - Without You.mp3": { + "year": null, + "date": null, + "title": "Without You", + "artist": "Avicii, Sandro Cavazza", + "mbid": null + }, + "Betty Everett - It's In The Kiss (The Shoop Shoop Song).mp3": { + "year": null, + "date": null, + "title": "It's In The Kiss (The Shoop Shoop Song)", + "artist": "Betty Everett", + "mbid": null + }, + "Beyoncé - Crazy In Love (feat. JAY-Z).mp3": { + "year": null, + "date": null, + "title": "Crazy In Love (feat. JAY-Z)", + "artist": "Beyoncé, JAY Z", + "mbid": null + }, + "Bill Haley & His Comets - (We're Gonna) Rock Around The Clock (Single Version).mp3": { + "year": 2014, + "date": "2014-09-19", + "title": "(We're Gonna) Rock Around The Clock (Single Version)", + "artist": "Bill Haley & His Comets", + "mbid": "5e17cc2d-368d-4abb-b22c-71b08d6cfef9" + }, + "Bill Haley & His Comets - See You Later, Alligator.mp3": { + "year": 1981, + "date": "1981", + "title": "See You Later, Alligator", + "artist": "Bill Haley & His Comets", + "mbid": "732b4543-1820-4cb6-b7cb-25c0356f1f5b" + }, + "Bill Medley - (I've Had) The Time Of My Life (From Dirty Dancing Soundtrack).mp3": { + "year": 2024, + "date": "2024-01-19", + "title": "(I've Had) The Time Of My Life (From \"Dirty Dancing\" Soundtrack)", + "artist": "Bill Medley, Jennifer Warnes", + "mbid": "3da1ab83-49aa-4b69-a6e9-9566f3c3f5fa" + }, + "Bill Ramsey - Zuckerpuppe (Aus der Bauchtanz-Truppe).mp3": { + "year": 1961, + "date": "1961-10", + "title": "Zuckerpuppe (Aus der Bauchtanz-Truppe)", + "artist": "Bill Ramsey", + "mbid": "81669066-c680-4574-88bc-466764ebca61" + }, + "Billie Eilish - bad guy.mp3": { + "year": 2019, + "date": "2019-03-29", + "title": "bad guy", + "artist": "Billie Eilish", + "mbid": "694da04d-1ffc-435c-8b4b-59cc23ac8003" + }, + "Billy Idol - White Wedding.mp3": { + "year": 1983, + "date": "1983", + "title": "White Wedding", + "artist": "Billy Idol", + "mbid": "1884c8f3-64fc-4fac-8400-abea54129026" + }, + "Billy Joel - Piano Man.mp3": { + "year": 1973, + "date": "1973-11-09", + "title": "Piano Man", + "artist": "Billy Joel", + "mbid": "92ac918a-07f6-4f5e-b356-5897723310ca" + }, + "Billy Swan - I Can Help.mp3": { + "year": 1975, + "date": "1975", + "title": "I Can Help", + "artist": "Billy Swan", + "mbid": "d7df9be9-f549-44cb-ad4a-6b2b2628385d" + }, + "Black Eyed Peas - Where Is The Love.mp3": { + "year": 2003, + "date": "2003", + "title": "Where Is The Love?", + "artist": "Black Eyed Peas", + "mbid": "5f21eb12-f84e-45f1-b3d7-c3e1d4ea0085" + }, + "Blümchen - Herz an Herz.mp3": { + "year": 1996, + "date": "1996", + "title": "Herz an Herz", + "artist": "Blümchen", + "mbid": "2d3cf4d6-614c-4e78-9bc2-9e355f979516" + }, + "Bob Marley & The Wailers - No Woman No Cry.mp3": { + "year": 1973, + "date": "1973-10", + "title": "No Woman No Cry", + "artist": "Bob Marley & The Wailers", + "mbid": "5f92f7de-f6b4-4c52-9f87-e774a268e194" + }, + "Bob Sinclar - World Hold on (Children of the Sky) [Radio Edit].mp3": { + "year": 2018, + "date": "2018-05-04", + "title": "World Hold on (Children of the Sky) [Radio Edit]", + "artist": "Bob Sinclar, Steve Edwards", + "mbid": "9cb36936-6524-4852-ac2d-dd1afac884fa" + }, + "Bon Jovi - It's My Life.mp3": { + "year": 1993, + "date": "1993", + "title": "It's My Life", + "artist": "Bon Jovi", + "mbid": "511096e6-7737-4514-8f23-bfa0dac765ec" + }, + "Bonnie Tyler - It's A Heartache.mp3": { + "year": 1977, + "date": "1977", + "title": "It's A Heartache", + "artist": "Bonnie Tyler", + "mbid": "58141b98-0bc6-463d-829a-61ee919a46d5" + }, + "Boston - More Than a Feeling.mp3": { + "year": 1984, + "date": "1984", + "title": "More Than a Feeling", + "artist": "Boston", + "mbid": "a15a76ab-ee46-4212-8b15-86424020f579" + }, + "Brandy - The Boy Is Mine.mp3": { + "year": null, + "date": null, + "title": "The Boy Is Mine", + "artist": "Brandy, Monica", + "mbid": null + }, + "Britney Spears - Oops!...I Did It Again.mp3": { + "year": 2000, + "date": "2000-04-25", + "title": "Oops!...I Did It Again", + "artist": "Britney Spears", + "mbid": "44abd7d3-c593-4587-a109-6d9582f13f36" + }, + "Bronski Beat - Smalltown Boy.mp3": { + "year": 1984, + "date": "1984", + "title": "Smalltown Boy", + "artist": "Bronski Beat", + "mbid": "8a4030f8-abe4-47ba-969d-aca6b878ff07" + }, + "Bruce Springsteen - Dancing In the Dark.mp3": { + "year": 1984, + "date": "1984", + "title": "Dancing In the Dark", + "artist": "Bruce Springsteen", + "mbid": "3ecd975b-f6ef-4f44-b181-6ec822323756" + }, + "Bryan Adams - Heaven.mp3": { + "year": 1985, + "date": "1985-04-27", + "title": "Heaven", + "artist": "Bryan Adams", + "mbid": "d5050809-f33a-44bb-8ec1-dc996375e272" + }, + "Bryan Ferry - Let's Stick Together (1999 Remastered Version).mp3": { + "year": null, + "date": null, + "title": "Let's Stick Together (1999 Remastered Version)", + "artist": "Bryan Ferry", + "mbid": null + }, + "Buddy Poke - Ab in den Süden.mp3": { + "year": null, + "date": null, + "title": "Ab in den Süden", + "artist": "Buddy Poke", + "mbid": null + }, + "Captain Jack - Captain Jack (Short Mix).mp3": { + "year": 1995, + "date": "1995-01-01", + "title": "Captain Jack (Short Mix)", + "artist": "Captain Jack", + "mbid": "b349be1d-edac-4632-9a9b-f4a9b3e5e844" + }, + "Carly Simon - You're So Vain.mp3": { + "year": 1972, + "date": "1972-11-25", + "title": "You're So Vain", + "artist": "Carly Simon", + "mbid": "27089139-92c0-499c-9597-c66c9b11bdfd" + }, + "Caterina Valente - Ganz Paris Traumt Von Der Liebe.mp3": { + "year": 1954, + "date": "1954", + "title": "Ganz Paris Traumt Von Der Liebe", + "artist": "Caterina Valente", + "mbid": "300ec8d8-5053-46ed-92ed-77748648a450" + }, + "Caterina Valente - Itsy Bitsy Teenie Weenie Honolulu Strand Bikini.mp3": { + "year": null, + "date": null, + "title": "Itsy Bitsy Teenie Weenie Honolulu Strand Bikini", + "artist": "Caterina Valente, Silvio Francesco", + "mbid": null + }, + "Céline Dion - My Heart Will Go On (Love Theme from Titanic).mp3": { + "year": 1997, + "date": "1997-11-18", + "title": "My Heart Will Go On (Love Theme from \"Titanic\")", + "artist": "Céline Dion", + "mbid": "21a833ca-7b2b-4a55-a5d6-06495535e26d" + }, + "Cher - Believe.mp3": { + "year": 1998, + "date": "1998-10-12", + "title": "Believe", + "artist": "Cher", + "mbid": "c454ddd8-8d0c-419d-b4e9-65620785851e" + }, + "Chic - Le Freak (2018 Remaster).mp3": { + "year": 2019, + "date": "2019-03-29", + "title": "Le Freak (2018 Remaster)", + "artist": "Chic", + "mbid": "b33a9130-63d8-4bf0-a4a2-4bb421ac68e1" + }, + "Chicago - If You Leave Me Now (Remastered LP Version).mp3": { + "year": 2004, + "date": "2004-09-15", + "title": "If You Leave Me Now (Remastered LP Version)", + "artist": "Chicago", + "mbid": "ef91cc0f-3ebe-4ead-834e-cb34243c3e29" + }, + "Christina Aguilera - Genie in a Bottle.mp3": { + "year": 1999, + "date": "1999-04", + "title": "Genie in a Bottle", + "artist": "Christina Aguilera", + "mbid": "fbe9ad8c-3a31-4b5a-9710-228b8c77907b" + }, + "Chubby Checker - The Twist.mp3": { + "year": 1960, + "date": "1960-06", + "title": "The Twist", + "artist": "Chubby Checker", + "mbid": "55e17d71-03a0-4df4-b381-7c5e421782a6" + }, + "Chuck Berry - Johnny B. Goode.mp3": { + "year": 1972, + "date": "1972", + "title": "Johnny B. Goode", + "artist": "Chuck Berry", + "mbid": "0a506cdb-0101-4268-9b43-3c64b8498e99" + }, + "Cliff Richard - Congratulations (1998 Remaster).mp3": { + "year": null, + "date": null, + "title": "Congratulations (1998 Remaster)", + "artist": "Cliff Richard", + "mbid": null + }, + "Coldplay - Talk.mp3": { + "year": 2005, + "date": "2005-06-01", + "title": "Talk", + "artist": "Coldplay", + "mbid": "9cd3daca-eab7-4db8-8af8-21b3da550c28" + }, + "Connie Francis - Schöner fremder Mann.mp3": { + "year": 1961, + "date": "1961", + "title": "Schöner fremder Mann", + "artist": "Connie Francis", + "mbid": "e765f8d5-1647-4ead-9547-3d445e06ac5c" + }, + "Coolio - Gangsta's Paradise.mp3": { + "year": null, + "date": null, + "title": "Gangsta's Paradise", + "artist": "Coolio, L.V.", + "mbid": null + }, + "Corinne Bailey Rae - Put Your Records On.mp3": { + "year": 2006, + "date": "2006-02-21", + "title": "Put Your Records On", + "artist": "Corinne Bailey Rae", + "mbid": "a2ca096d-b51b-4bd5-bda0-a0875c5f9657" + }, + "Cornelia Froboess - Pack Die Badehose Ein.mp3": { + "year": null, + "date": null, + "title": "Pack Die Badehose Ein", + "artist": "Cornelia Froboess", + "mbid": null + }, + "Creedence Clearwater Revival - Have You Ever Seen The Rain.mp3": { + "year": 1970, + "date": "1970-12-07", + "title": "Have You Ever Seen The Rain", + "artist": "Creedence Clearwater Revival", + "mbid": "b5634bbd-cf5c-4206-8063-f7f5079eaa29" + }, + "CRO - Einmal um die Welt.mp3": { + "year": 2011, + "date": "2011-02-11", + "title": "Einmal um die Welt", + "artist": "CRO", + "mbid": "6d77e594-5a1b-4eda-9d93-ad0a26aa9212" + }, + "Crowded House - Don't Dream It's Over.mp3": { + "year": 1987, + "date": "1987", + "title": "Don't Dream It's Over", + "artist": "Crowded House", + "mbid": "7d066fb2-06d2-4297-862a-b9cd14d595a1" + }, + "Culture Beat - Mr. Vain.mp3": { + "year": 1993, + "date": "1993", + "title": "Mr. Vain", + "artist": "Culture Beat", + "mbid": "bdffee79-99c0-4b47-a8e9-f94960778f5e" + }, + "Culture Club - Karma Chameleon.mp3": { + "year": 1995, + "date": "1995", + "title": "Karma Chameleon", + "artist": "Culture Club", + "mbid": "bf1c6620-3b9a-4878-938b-b9f81001666b" + }, + "Cyndi Lauper - True Colors.mp3": { + "year": 1986, + "date": "1986-09-05", + "title": "True Colors", + "artist": "Cyndi Lauper", + "mbid": "531c800f-ae39-4942-aeeb-05a44f1dcdcf" + }, + "Daft Punk - One More Time (Short Radio Edit).mp3": { + "year": 2000, + "date": "2000-11-13", + "title": "One More Time (Short Radio Edit)", + "artist": "Daft Punk", + "mbid": "c3c3b281-5943-4c7d-bd1c-69d877277714" + }, + "Danny and The Juniors - At The Hop.mp3": { + "year": 1986, + "date": "1986", + "title": "At The Hop", + "artist": "Danny and The Juniors", + "mbid": "8e980a28-f25b-495e-94be-b19b56f6019c" + }, + "Daryl Hall & John Oates - Maneater.mp3": { + "year": 1994, + "date": "1994", + "title": "Maneater", + "artist": "Daryl Hall & John Oates", + "mbid": "83e2444b-5445-400c-8215-f12f81d6f615" + }, + "David Bowie - Space Oddity (1999 Remaster).mp3": { + "year": null, + "date": null, + "title": "Space Oddity (1999 Remaster)", + "artist": "David Bowie", + "mbid": null + }, + "Dean Martin - That's Amore (2001 Remastered Version).mp3": { + "year": null, + "date": null, + "title": "That's Amore (2001 Remastered Version)", + "artist": "Dean Martin", + "mbid": null + }, + "Diana Ross - Upside Down (Single Version).mp3": { + "year": null, + "date": null, + "title": "Upside Down (Single Version)", + "artist": "Diana Ross", + "mbid": null + }, + "Die Ärzte - Junge.mp3": { + "year": 2007, + "date": "2007-10-05", + "title": "Junge", + "artist": "Die Ärzte", + "mbid": "bd95f4ef-fedb-4d2e-b33b-b4b574f31bd4" + }, + "Die Ärzte - Westerland.mp3": { + "year": 1988, + "date": "1988-04-08", + "title": "Westerland", + "artist": "Die Ärzte", + "mbid": "8e0d5bf4-0cc0-4ee9-a18c-e6f90f03d737" + }, + "Die Doofen - MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version.mp3": { + "year": null, + "date": null, + "title": "MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version", + "artist": "Die Doofen", + "mbid": null + }, + "Die Firma - Die Eine.mp3": { + "year": 1998, + "date": "1998-04-03", + "title": "Die Eine", + "artist": "Die Firma", + "mbid": "f8694c99-2c05-45ab-b558-a54b7851e039" + }, + "Die Prinzen - Alles nur geklaut.mp3": { + "year": 1993, + "date": "1993-11-12", + "title": "Alles nur geklaut", + "artist": "Die Prinzen", + "mbid": "b2630eb0-8b16-4901-8a8d-b0d146b7913c" + }, + "Die Toten Hosen - Tage wie diese.mp3": { + "year": 2012, + "date": "2012-03-23", + "title": "Tage wie diese", + "artist": "Die Toten Hosen", + "mbid": "f958b654-eef3-4496-b751-b61edfe146c9" + }, + "Dion - The Wanderer.mp3": { + "year": 1961, + "date": "1961", + "title": "The Wanderer", + "artist": "Dion", + "mbid": "33c480f2-5f9a-43db-91b4-6834a23ea76f" + }, + "Dire Straits - Walk Of Life.mp3": { + "year": 1985, + "date": "1985", + "title": "Walk Of Life", + "artist": "Dire Straits", + "mbid": "2defe75f-52c3-49d7-9cb9-7dbc4749c6dd" + }, + "Dolly Parton - Jolene.mp3": { + "year": 1975, + "date": "1975", + "title": "Jolene", + "artist": "Dolly Parton", + "mbid": "58751150-daa4-4b72-802a-555d6ea0a6e7" + }, + "Dr. Alban - Sing Hallelujah!.mp3": { + "year": 1992, + "date": "1992", + "title": "Sing Hallelujah!", + "artist": "Dr. Alban", + "mbid": "4166d83c-7aba-497d-98a2-20ab971c767a" + }, + "Drafi Deutscher - Marmor, Stein und Eisen bricht.mp3": { + "year": 1982, + "date": "1982-10", + "title": "Marmor, Stein und Eisen bricht", + "artist": "Drafi Deutscher", + "mbid": "884df235-f5e4-4d69-a05a-993c03456100" + }, + "Drake - Toosie Slide.mp3": { + "year": 2020, + "date": "2020-04-03", + "title": "Toosie Slide", + "artist": "Drake", + "mbid": "de4c54c9-6171-4cec-8866-d5f41b24d51d" + }, + "Dschinghis Khan - Moskau (2007 Version).mp3": { + "year": null, + "date": null, + "title": "Moskau (2007 Version)", + "artist": "Dschinghis Khan", + "mbid": null + }, + "Dua Lipa - Break My Heart.mp3": { + "year": 2020, + "date": "2020-03-21", + "title": "Break My Heart", + "artist": "Dua Lipa", + "mbid": "ba2a214d-39b0-4b53-8b20-b2b80cf9bfab" + }, + "Duck Sauce - Barbra Streisand (Radio Edit).mp3": { + "year": 2011, + "date": "2011-02-11", + "title": "Barbra Streisand (Radio Edit)", + "artist": "Duck Sauce", + "mbid": "7c3ffc5e-bab2-46c6-b8f0-c25f446de4c5" + }, + "Duffy - Mercy.mp3": { + "year": 2007, + "date": "2007", + "title": "Mercy", + "artist": "Duffy", + "mbid": "e528371a-0544-4328-a51e-8a2427671fcc" + }, + "Eagle-Eye Cherry - Save Tonight.mp3": { + "year": 1997, + "date": "1997-07-21", + "title": "Save Tonight", + "artist": "Eagle-Eye Cherry", + "mbid": "d8a837d1-886d-44e4-aa72-d19e61180b3b" + }, + "Echt - Du trägst keine Liebe in dir.mp3": { + "year": 1999, + "date": "1999-09-10", + "title": "Du trägst keine Liebe in dir", + "artist": "Echt", + "mbid": "64908e9c-633f-4c63-b09b-abf99b255261" + }, + "Eddy Grant - Gimme Hope Jo'Anna.mp3": { + "year": 1988, + "date": "1988-03-21", + "title": "Gimme Hope Jo'Anna", + "artist": "Eddy Grant", + "mbid": "f897a847-60e3-4409-bbce-36feeb6d23c9" + }, + "Elton John - Your Song.mp3": { + "year": 1971, + "date": "1971", + "title": "Your Song", + "artist": "Elton John", + "mbid": "5c9dee4c-3291-49a2-8c3e-a0dd7f7e4ad5" + }, + "Elvis Presley - Can't Help Falling in Love.mp3": { + "year": 1969, + "date": "1969-10-14", + "title": "Can't Help Falling in Love", + "artist": "Elvis Presley", + "mbid": "a84b9958-0c2a-4222-8759-c6615aa3fe55" + }, + "Elvis Presley - Jailhouse Rock.mp3": { + "year": 1957, + "date": "1957-01-01", + "title": "Jailhouse Rock", + "artist": "Elvis Presley", + "mbid": "137b53e7-57e3-4a07-85e3-fcf733ae0a0d" + }, + "Enrico Caruso - Rigoletto La Donna E' Mobile.mp3": { + "year": null, + "date": null, + "title": "Rigoletto: \"La Donna E' Mobile\"", + "artist": "Enrico Caruso", + "mbid": null + }, + "Enrique Iglesias - Could I Have This Kiss Forever.mp3": { + "year": null, + "date": null, + "title": "Could I Have This Kiss Forever", + "artist": "Enrique Iglesias, Whitney Houston", + "mbid": null + }, + "Enrique Iglesias - Do You Know (The Ping Pong Song).mp3": { + "year": 2007, + "date": "2007-06-11", + "title": "Do You Know? (The Ping Pong Song)", + "artist": "Enrique Iglesias", + "mbid": "0892e221-c14b-4e5c-b425-f8d3cf673e53" + }, + "Enya - Orinoco Flow.mp3": { + "year": 1988, + "date": "1988-09-19", + "title": "Orinoco Flow", + "artist": "Enya", + "mbid": "4b5273c8-45f2-4bea-b73c-5128cd57faa8" + }, + "Eric Carmen - Hungry Eyes (From Dirty Dancing Soundtrack).mp3": { + "year": 2005, + "date": "2005", + "title": "Hungry Eyes (From \"Dirty Dancing\" Soundtrack)", + "artist": "Eric Carmen", + "mbid": "848ecccf-4fc4-4478-b70a-8e31286bfd84" + }, + "Eric Prydz - Call On Me (Radio Edit).mp3": { + "year": 2004, + "date": "2004", + "title": "Call On Me (Radio Edit)", + "artist": "Eric Prydz", + "mbid": "f22021f6-5219-49fe-9270-2fac043b57d3" + }, + "Erma Franklin - Piece of My Heart.mp3": { + "year": 1967, + "date": "1967-10", + "title": "Piece of My Heart", + "artist": "Erma Franklin", + "mbid": "99b7e978-e259-4aa5-8f4b-00b043da4d54" + }, + "Eros Ramazzotti - Più bella cosa.mp3": { + "year": 1996, + "date": "1996-04-09", + "title": "Più bella cosa", + "artist": "Eros Ramazzotti", + "mbid": "289cc14d-a64d-472a-b865-937874233dfb" + }, + "Eurythmics - Sweet Dreams (Are Made of This).mp3": { + "year": 2007, + "date": "2007-12-10", + "title": "Sweet Dreams (Are Made of This)", + "artist": "Eurythmics, Annie Lennox, Dave Stewart", + "mbid": "cf4c57df-da7f-4336-9c9f-090dfc98afeb" + }, + "Falco - Rock Me Amadeus.mp3": { + "year": 1985, + "date": "1985-09-11", + "title": "Rock Me Amadeus", + "artist": "Falco", + "mbid": "c202f18b-758e-4c9e-be38-71e7863f57d1" + }, + "Fatboy Slim - Praise You.mp3": { + "year": 1999, + "date": "1999", + "title": "Praise You", + "artist": "Fatboy Slim", + "mbid": "c9f0a90a-806c-4b60-bdca-1488eda61988" + }, + "Fats Domino - Ain't That A Shame.mp3": { + "year": 1988, + "date": "1988", + "title": "Ain't That A Shame", + "artist": "Fats Domino", + "mbid": "ffa16838-9137-42ec-964d-bf668d502593" + }, + "Fettes Brot - Emanuela.mp3": { + "year": 2005, + "date": "2005-03-21", + "title": "Emanuela", + "artist": "Fettes Brot", + "mbid": "5c626985-3396-42dd-a0b0-5a02f15945bf" + }, + "Fine Young Cannibals - She Drives Me Crazy.mp3": { + "year": 1989, + "date": "1989", + "title": "She Drives Me Crazy", + "artist": "Fine Young Cannibals", + "mbid": "c47d9ac3-b2e3-4305-994d-03211998d650" + }, + "Fleetwood Mac - Everywhere (2017 Remaster).mp3": { + "year": null, + "date": null, + "title": "Everywhere (2017 Remaster)", + "artist": "Fleetwood Mac", + "mbid": null + }, + "Freddy Quinn - Die Gitarre und das Meer (Single Version).mp3": { + "year": null, + "date": null, + "title": "Die Gitarre und das Meer (Single Version)", + "artist": "Freddy Quinn", + "mbid": null + }, + "Freddy Quinn - Heimweh (Dort wo die Blumen blüh'n).mp3": { + "year": 2006, + "date": "2006-10-26", + "title": "Heimweh (Dort wo die Blumen blüh'n)", + "artist": "Freddy Quinn", + "mbid": "2e4c3d92-9103-48ee-9399-43d83a61872f" + }, + "Fugees - Killing Me Softly With His Song.mp3": { + "year": 1999, + "date": "1999", + "title": "Killing Me Softly With His Song", + "artist": "Fugees", + "mbid": "aafec15b-93c0-4e0c-bb70-c10f2a49b6a8" + }, + "Genesis - No Son Of Mine.mp3": { + "year": 1992, + "date": "1992-03", + "title": "No Son Of Mine", + "artist": "Genesis", + "mbid": "b4d6e127-5406-42b1-933b-e01a5f7df105" + }, + "George Harrison - Got My Mind Set On You (Remastered 2004).mp3": { + "year": null, + "date": null, + "title": "Got My Mind Set On You (Remastered 2004)", + "artist": "George Harrison", + "mbid": null + }, + "George Michael - I Knew You Were Waiting (For Me).mp3": { + "year": null, + "date": null, + "title": "I Knew You Were Waiting (For Me)", + "artist": "George Michael, Aretha Franklin", + "mbid": null + }, + "Gipsy Kings - Volare (Nel Blu di Pinto di Blu).mp3": { + "year": 1989, + "date": "1989-11-21", + "title": "Volare (Nel Blu di Pinto di Blu)", + "artist": "Gipsy Kings", + "mbid": "44ffa450-b4c4-47a8-8c8d-b41a86fc802c" + }, + "Gitte Hænning - Ich will 'nen Cowboy als Mann.mp3": { + "year": 2003, + "date": "2003", + "title": "Ich will 'nen Cowboy als Mann", + "artist": "Gitte Hænning", + "mbid": "37e33915-b7e5-4310-bc53-94d17310b26c" + }, + "Glenn Miller - In the Mood (2006 Remastered Version).mp3": { + "year": null, + "date": null, + "title": "In the Mood (2006 Remastered Version)", + "artist": "Glenn Miller", + "mbid": null + }, + "Gotye - Somebody That I Used To Know.mp3": { + "year": null, + "date": null, + "title": "Somebody That I Used To Know", + "artist": "Gotye, Kimbra", + "mbid": null + }, + "Guns N' Roses - Sweet Child O' Mine.mp3": { + "year": 1988, + "date": "1988", + "title": "Sweet Child O' Mine", + "artist": "Guns N' Roses", + "mbid": "95443f12-458b-4977-a01b-c8065bda1dd0" + }, + "Haddaway - What Is Love (7 Mix).mp3": { + "year": 1992, + "date": "1992", + "title": "What Is Love (7\" Mix)", + "artist": "Haddaway", + "mbid": "2970d12e-5eb9-45c9-8eac-38ce11efc18f" + }, + "Harry Belafonte - Day-O (The Banana Boat Song).mp3": { + "year": 1968, + "date": "1968", + "title": "Day-O (The Banana Boat Song)", + "artist": "Harry Belafonte", + "mbid": "145db6c0-7134-4387-b474-22da59689523" + }, + "Harry Styles - Adore You.mp3": { + "year": 2019, + "date": "2019-12-06", + "title": "Adore You", + "artist": "Harry Styles", + "mbid": "acc4e9ce-f9cb-4a7c-8f65-a77cc586c81a" + }, + "Heintje - Mama.mp3": { + "year": 1967, + "date": "1967", + "title": "Mama", + "artist": "Heintje", + "mbid": "397596d8-8b1e-43c5-b069-01f5a575309f" + }, + "Helene Fischer - Atemlos durch die Nacht.mp3": { + "year": 2013, + "date": "2013-10-04", + "title": "Atemlos durch die Nacht", + "artist": "Helene Fischer", + "mbid": "e98a18f4-1345-4e5c-a117-295cd080d50d" + }, + "Herbert Grönemeyer - Männer.mp3": { + "year": 1984, + "date": "1984", + "title": "Männer", + "artist": "Herbert Grönemeyer", + "mbid": "11ecc67c-a65e-428f-bf01-91ddc39c656f" + }, + "House of Pain - Jump Around (LP Version).mp3": { + "year": 2010, + "date": "2010", + "title": "Jump Around (LP Version)", + "artist": "House of Pain", + "mbid": "f3c80549-9f27-4a6e-a68b-545b0df0f25a" + }, + "Ich + Ich - Vom selben Stern (Radio Edit).mp3": { + "year": 2007, + "date": "2007-06-15", + "title": "Vom selben Stern (Radio Edit)", + "artist": "Ich + Ich", + "mbid": "78e068ef-72d5-4520-b773-0753534dfa07" + }, + "Icona Pop - I Love It (feat. Charli XCX).mp3": { + "year": null, + "date": null, + "title": "I Love It (feat. Charli XCX)", + "artist": "Icona Pop, Charli xcx", + "mbid": null + }, + "Imagine Dragons - Thunder.mp3": { + "year": 2017, + "date": "2017-04-27", + "title": "Thunder", + "artist": "Imagine Dragons", + "mbid": "2199bf89-2583-4368-8f85-3b0bb8f994d4" + }, + "James Brown - I Got You (I Feel Good).mp3": { + "year": 1966, + "date": "1966", + "title": "I Got You (I Feel Good)", + "artist": "James Brown", + "mbid": "52242ab5-7d4e-4d42-a253-a97d42827993" + }, + "Jason Derulo - Whatcha Say.mp3": { + "year": 2010, + "date": "2010-06-04", + "title": "Whatcha Say", + "artist": "Jason Derulo", + "mbid": "b0e1e84f-7b16-47dc-8297-db85a239fb18" + }, + "JAY Z - Numb Encore.mp3": { + "year": null, + "date": null, + "title": "Numb / Encore", + "artist": "JAY Z, Linkin Park", + "mbid": null + }, + "Jennifer Lopez - If You Had My Love.mp3": { + "year": 1999, + "date": "1999-06-21", + "title": "If You Had My Love", + "artist": "Jennifer Lopez", + "mbid": "4ac2f246-d285-4e2d-88a0-9dcc6c0e37b0" + }, + "Jessie J - Price Tag.mp3": { + "year": null, + "date": null, + "title": "Price Tag", + "artist": "Jessie J, B.o.B", + "mbid": null + }, + "Jimmy Cliff - You Can Get It If You Really Want.mp3": { + "year": 1971, + "date": "1971", + "title": "You Can Get It If You Really Want", + "artist": "Jimmy Cliff", + "mbid": "649d71d9-2d00-4f5d-87d3-7655eaf198f6" + }, + "John Legend - All of Me.mp3": { + "year": 2013, + "date": "2013-08-08", + "title": "All of Me", + "artist": "John Legend", + "mbid": "d5548b1d-63db-4aa7-b3d5-3f864f248eee" + }, + "Johnny Cash - Ring of Fire.mp3": { + "year": 1981, + "date": "1981-04-19", + "title": "Ring of Fire", + "artist": "Johnny Cash", + "mbid": "5611c424-d0db-4e30-bae2-2db6d72177f7" + }, + "Joseìto Fernàndez - Guajira Guantanamera.mp3": { + "year": 1940, + "date": "1940", + "title": "Guajira Guantanamera", + "artist": "Joseìto Fernàndez", + "mbid": "a36d08be-3933-4a79-ac02-8455a22046ad" + }, + "Journey - Don't Stop Believin'.mp3": { + "year": 1981, + "date": "1981", + "title": "Don't Stop Believin'", + "artist": "Journey", + "mbid": "2b445f3e-7e84-4503-aab9-6bad9e1c2bd2" + }, + "Jürgen Drews - Ein Bett im Kornfeld.mp3": { + "year": 1976, + "date": "1976-04", + "title": "Ein Bett im Kornfeld", + "artist": "Jürgen Drews", + "mbid": "881c0d7e-d8a6-447f-824f-3ed317479c2d" + }, + "Jürgen Marcus - Eine neue Liebe ist wie ein neues Leben.mp3": { + "year": 1972, + "date": "1972-05", + "title": "Eine neue Liebe ist wie ein neues Leben", + "artist": "Jürgen Marcus", + "mbid": "711e122b-a68d-4e8d-a4d5-c643de436216" + }, + "Justin Bieber - Anyone.mp3": { + "year": 2021, + "date": "2021-01-01", + "title": "Anyone", + "artist": "Justin Bieber", + "mbid": "51798a1e-190a-4229-b56a-f2cda0972fdd" + }, + "Kanye West - Gold Digger.mp3": { + "year": null, + "date": null, + "title": "Gold Digger", + "artist": "Kanye West, Jamie Foxx", + "mbid": null + }, + "Kaoma - Lambada (Original Version 1989).mp3": { + "year": null, + "date": null, + "title": "Lambada (Original Version 1989)", + "artist": "Kaoma", + "mbid": "281e0ae7-bf5e-4716-8623-9ccabdca7afa" + }, + "Karat - Über sieben Brücken musst du gehn.mp3": { + "year": 1978, + "date": "1978", + "title": "Über sieben Brücken musst du gehn", + "artist": "Karat", + "mbid": "9a2b3c81-4aa3-4f2f-adf3-f2a703ee7ba6" + }, + "Katy Perry - Firework.mp3": { + "year": 2010, + "date": "2010-08-24", + "title": "Firework", + "artist": "Katy Perry", + "mbid": "9846e3f4-7bb9-49be-8e91-837a5ee5cefb" + }, + "Kc & The Sunshine Band - Give It Up.mp3": { + "year": 1982, + "date": "1982", + "title": "Give It Up", + "artist": "Kc & The Sunshine Band", + "mbid": "504a0aae-6b12-49bd-b269-40cb438d2542" + }, + "Kelly Clarkson - Because of You.mp3": { + "year": 2003, + "date": "2003", + "title": "Because of You", + "artist": "Kelly Clarkson", + "mbid": "cd52b2b1-28d4-4885-9f1d-b44b8caf07f7" + }, + "Kenny Rogers & Dolly Parton - All I Have To Do Is Dream.mp3": { + "year": null, + "date": null, + "title": "All I Have To Do Is Dream", + "artist": "Kenny Rogers & Dolly Parton", + "mbid": null + }, + "Kim Carnes - Bette Davis Eyes.mp3": { + "year": 1981, + "date": "1981-03", + "title": "Bette Davis Eyes", + "artist": "Kim Carnes", + "mbid": "44140ecd-ca40-4d45-8c3e-c4df35ca0462" + }, + "Klaus Lage - 1000 und 1 Nacht (Remastered 2008).mp3": { + "year": null, + "date": null, + "title": "1000 und 1 Nacht (Remastered 2008)", + "artist": "Klaus Lage", + "mbid": null + }, + "Kool & The Gang - Celebration.mp3": { + "year": 1990, + "date": "1990", + "title": "Celebration", + "artist": "Kool & The Gang", + "mbid": "827f8d82-644d-4b8b-b00a-6a1b256271e4" + }, + "Kraftwerk - Autobahn.mp3": { + "year": 1975, + "date": "1975", + "title": "Autobahn", + "artist": "Kraftwerk", + "mbid": "0d25c932-671d-4850-a70e-d8046153fff6" + }, + "Lady Gaga - Poker Face.mp3": { + "year": 2009, + "date": "2009-11-16", + "title": "Poker Face", + "artist": "Lady Gaga", + "mbid": "47042d5b-3df8-4d01-8b7e-c94d9e18f36e" + }, + "Lady Gaga - Shallow (Radio Edit).mp3": { + "year": null, + "date": null, + "title": "Shallow (Radio Edit)", + "artist": "Lady Gaga, Bradley Cooper", + "mbid": null + }, + "Las Ketchup - The Ketchup Song (Aserejé) (Spanglish Version).mp3": { + "year": 2002, + "date": "2002-07-30", + "title": "The Ketchup Song (Aserejé) (Spanglish Version)", + "artist": "Las Ketchup", + "mbid": "3e209f11-97f6-409f-910a-7571156adc81" + }, + "Led Zeppelin - Whole Lotta Love.mp3": { + "year": 1999, + "date": "1999", + "title": "Whole Lotta Love", + "artist": "Led Zeppelin", + "mbid": "941a8aa9-debb-4970-bc1b-df81f6ef7797" + }, + "Lenny Kravitz - Fly Away.mp3": { + "year": 1998, + "date": "1998-04-29", + "title": "Fly Away", + "artist": "Lenny Kravitz", + "mbid": "90f7b7f3-3815-4344-95ca-98b28b5591a5" + }, + "Leo Sayer - When I Need You.mp3": { + "year": 1976, + "date": "1976", + "title": "When I Need You", + "artist": "Leo Sayer", + "mbid": "cd80566e-4829-4e4c-b708-d57a16be9efd" + }, + "Lewis Capaldi - Someone You Loved.mp3": { + "year": 2018, + "date": "2018-11-08", + "title": "Someone You Loved", + "artist": "Lewis Capaldi", + "mbid": "cc95aec7-4a2e-4b66-bf41-e60f3bff1378" + }, + "Limahl - Never Ending Story.mp3": { + "year": 1996, + "date": "1996-08-01", + "title": "Never Ending Story", + "artist": "Limahl", + "mbid": "a0dd53f9-a30d-463b-8ff6-27af6c8d2d2e" + }, + "Linda Ronstadt - Blue Bayou.mp3": { + "year": 1977, + "date": "1977", + "title": "Blue Bayou", + "artist": "Linda Ronstadt", + "mbid": "1cf41f14-2597-41d1-b113-a902b69d6f1b" + }, + "Lionel Richie - Dancing On The Ceiling.mp3": { + "year": 1985, + "date": "1985", + "title": "Dancing On The Ceiling", + "artist": "Lionel Richie", + "mbid": "a393ce94-3cbc-4723-97de-7a270bb7b606" + }, + "Little Eva - The Locomotion.mp3": { + "year": 1992, + "date": "1992", + "title": "The Locomotion", + "artist": "Little Eva", + "mbid": "77077947-1945-421a-bdb7-fd057a9ec546" + }, + "Little Richard - Good Golly Miss Molly.mp3": { + "year": 1981, + "date": "1981", + "title": "Good Golly Miss Molly", + "artist": "Little Richard", + "mbid": "85391381-e729-46a9-8c5e-a36cc1923a3d" + }, + "Loreen - Euphoria.mp3": { + "year": 2012, + "date": "2012-10-22", + "title": "Euphoria", + "artist": "Loreen", + "mbid": "ca9a12c2-1aea-4190-afa5-6effc22004d1" + }, + "Lukas Graham - 7 Years.mp3": { + "year": 2015, + "date": "2015-06-16", + "title": "7 Years", + "artist": "Lukas Graham", + "mbid": "87e36ab4-6914-44ab-b740-7abb37678040" + }, + "Lynyrd Skynyrd - Sweet Home Alabama.mp3": { + "year": 1976, + "date": "1976-09", + "title": "Sweet Home Alabama", + "artist": "Lynyrd Skynyrd", + "mbid": "8392991c-3929-4bf9-a8fb-461bb9aca76d" + }, + "Mabel - Don't Call Me Up.mp3": { + "year": 2019, + "date": "2019-01-18", + "title": "Don't Call Me Up", + "artist": "Mabel", + "mbid": "310c7a8c-aa77-4ade-b9ea-02dee4aec084" + }, + "Macklemore & Ryan Lewis - Can't Hold Us (feat. Ray Dalton).mp3": { + "year": null, + "date": null, + "title": "Can't Hold Us (feat. Ray Dalton)", + "artist": "Macklemore & Ryan Lewis", + "mbid": null + }, + "Mad'House - Like a Prayer.mp3": { + "year": 2002, + "date": "2002-07-22", + "title": "Like a Prayer", + "artist": "Mad'House", + "mbid": "e2f73fc3-edf1-4f62-b141-194550376ea6" + }, + "Madonna - 4 Minutes (feat. Justin Timberlake and Timbaland).mp3": { + "year": null, + "date": null, + "title": "4 Minutes (feat. Justin Timberlake and Timbaland)", + "artist": "Madonna", + "mbid": null + }, + "Major Lazer - Lean On (feat. MØ & DJ Snake).mp3": { + "year": null, + "date": null, + "title": "Lean On (feat. MØ & DJ Snake)", + "artist": "Major Lazer, MØ, DJ Snake", + "mbid": null + }, + "Manfred Mann - Do Wah Diddy Diddy.mp3": { + "year": 1976, + "date": "1976", + "title": "Do Wah Diddy Diddy", + "artist": "Manfred Mann", + "mbid": "a1b99918-faf7-42bc-b0e3-51054f58b386" + }, + "Manuela - Schuld war nur der Bossa Nova.mp3": { + "year": 1963, + "date": "1963", + "title": "Schuld war nur der Bossa Nova", + "artist": "Manuela", + "mbid": "8621d084-848e-42b7-b909-238ce065f6c3" + }, + "Mark Forster - Drei Uhr Nachts.mp3": { + "year": null, + "date": null, + "title": "Drei Uhr Nachts", + "artist": "Mark Forster, LEA", + "mbid": null + }, + "Mark Morrison - Return of the Mack.mp3": { + "year": 1996, + "date": "1996", + "title": "Return of the Mack", + "artist": "Mark Morrison", + "mbid": "bd45a28c-ad2a-4d33-a631-2fdc5d4e2c5c" + }, + "Mark Ronson - Valerie (feat. Amy Winehouse) (Version Revisited).mp3": { + "year": null, + "date": null, + "title": "Valerie (feat. Amy Winehouse) (Version Revisited)", + "artist": "Mark Ronson, Amy Winehouse", + "mbid": null + }, + "Markus - Ich will Spass.mp3": { + "year": 1982, + "date": "1982-05", + "title": "Ich will Spass", + "artist": "Markus", + "mbid": "2e6c7eb5-853b-4376-aad1-d21b1793c7b2" + }, + "Maroon 5 - Moves Like Jagger (Studio Recording From The Voice Performance).mp3": { + "year": null, + "date": null, + "title": "Moves Like Jagger (Studio Recording From The Voice Performance)", + "artist": "Maroon 5, Christina Aguilera", + "mbid": null + }, + "Marvin Gaye - I Heard It Through The Grapevine.mp3": { + "year": 1988, + "date": "1988", + "title": "I Heard It Through The Grapevine", + "artist": "Marvin Gaye", + "mbid": "d97b9286-07ce-436f-bb31-2d880b9476ee" + }, + "Matthias Reim - Verdammt Ich lieb' dich.mp3": { + "year": 1990, + "date": "1990-06-15", + "title": "Verdammt Ich lieb' dich", + "artist": "Matthias Reim", + "mbid": "ab17d759-63e6-42a0-af22-f175e9c482a7" + }, + "Max Giesinger - 80 Millionen.mp3": { + "year": 2016, + "date": "2016-02-19", + "title": "80 Millionen", + "artist": "Max Giesinger", + "mbid": "14ce7941-57b1-4ed4-a326-b241cf4a389b" + }, + "Meat Loaf - Paradise By the Dashboard Light.mp3": { + "year": 1984, + "date": "1984", + "title": "Paradise By the Dashboard Light", + "artist": "Meat Loaf", + "mbid": "bb1bffbd-122a-44f4-8f8d-2d847393fa78" + }, + "Meghan Trainor - All About That Bass.mp3": { + "year": 2014, + "date": "2014-02-16", + "title": "All About That Bass", + "artist": "Meghan Trainor", + "mbid": "759edfb8-0b3c-4d4b-9538-a4e20f21f1e3" + }, + "Michael Holm - Tränen lügen nicht.mp3": { + "year": 1974, + "date": "1974", + "title": "Tränen lügen nicht", + "artist": "Michael Holm", + "mbid": "9aba3c14-ba03-4cba-bd25-5e77853ae206" + }, + "MIKA - Relax, Take It Easy.mp3": { + "year": 2006, + "date": "2006-10-02", + "title": "Relax, Take It Easy", + "artist": "MIKA", + "mbid": "4ab862ea-e6da-4ced-8f9a-6f14ae8d9732" + }, + "Mike + The Mechanics - The Living Years.mp3": { + "year": 1988, + "date": "1988-10-28", + "title": "The Living Years", + "artist": "Mike + The Mechanics", + "mbid": "72b6d683-4b86-4f12-9a30-89141f465c01" + }, + "Miley Cyrus - Wrecking Ball.mp3": { + "year": 2013, + "date": "2013-08-25", + "title": "Wrecking Ball", + "artist": "Miley Cyrus", + "mbid": "8c8b2d45-6043-47c5-8c12-16fb8050817b" + }, + "Modjo - Lady (Hear Me Tonight).mp3": { + "year": 2000, + "date": "2000-06-19", + "title": "Lady (Hear Me Tonight)", + "artist": "Modjo", + "mbid": "72b9408f-52b2-4f4f-863c-96e8eea64dca" + }, + "Mungo Jerry - In The Summertime.mp3": { + "year": 1987, + "date": "1987", + "title": "In The Summertime", + "artist": "Mungo Jerry", + "mbid": "5f86a334-1c75-4a61-85d9-77a113519773" + }, + "Nancy Sinatra - These Boots Are Made For Walkin'.mp3": { + "year": 1966, + "date": "1966", + "title": "These Boots Are Made For Walkin'", + "artist": "Nancy Sinatra", + "mbid": "ccba168d-bcfe-4564-a9e1-8cacc3307545" + }, + "Natalie Imbruglia - Torn.mp3": { + "year": 1997, + "date": "1997-10-24", + "title": "Torn", + "artist": "Natalie Imbruglia", + "mbid": "95b471ad-50cd-49d4-9f23-2735c7dc3fe5" + }, + "Neil Diamond - Sweet Caroline.mp3": { + "year": 1969, + "date": "1969", + "title": "Sweet Caroline", + "artist": "Neil Diamond", + "mbid": "78ea7ea5-a451-4efe-b1fe-840f0697a419" + }, + "Nelly - Dilemma.mp3": { + "year": null, + "date": null, + "title": "Dilemma", + "artist": "Nelly, Kelly Rowland", + "mbid": null + }, + "Nena - 99 Luftballons.mp3": { + "year": 1983, + "date": "1983-01-14", + "title": "99 Luftballons", + "artist": "Nena", + "mbid": "f4655387-c676-4b07-9a27-f560ba254170" + }, + "New Radicals - You Get What You Give.mp3": { + "year": 1998, + "date": "1998-10-20", + "title": "You Get What You Give", + "artist": "New Radicals", + "mbid": "8ea9f2d4-c255-4201-b3c1-815571da013a" + }, + "Nickelback - How You Remind Me.mp3": { + "year": 2000, + "date": "2000", + "title": "How You Remind Me", + "artist": "Nickelback", + "mbid": "5d789be8-fedf-4ddb-a429-0977731fb9ab" + }, + "Nirvana - Smells Like Teen Spirit.mp3": { + "year": 1992, + "date": "1992", + "title": "Smells Like Teen Spirit", + "artist": "Nirvana", + "mbid": "23e47fd5-b790-4577-9b70-8ad296e80c4f" + }, + "No Doubt - Don't Speak.mp3": { + "year": 1995, + "date": "1995-10-10", + "title": "Don't Speak", + "artist": "No Doubt", + "mbid": "75f82744-5d4d-417c-b276-37dc4c17a98d" + }, + "Oasis - Wonderwall.mp3": { + "year": 1996, + "date": "1996", + "title": "Wonderwall", + "artist": "Oasis", + "mbid": "bc395cc7-a3de-4fe5-987c-c1d44951007c" + }, + "Olivia Rodrigo - drivers license.mp3": { + "year": 2021, + "date": "2021-01-08", + "title": "drivers license", + "artist": "Olivia Rodrigo", + "mbid": "88af1d59-e809-48bb-8a89-745bd05f0ae0" + }, + "OneRepublic - Counting Stars.mp3": { + "year": 2013, + "date": "2013-03-22", + "title": "Counting Stars", + "artist": "OneRepublic", + "mbid": "d03a0d3b-a3c5-44f4-9af7-34c76ccaedb2" + }, + "Outkast - Hey Ya! (Radio Mix Club Mix).mp3": { + "year": null, + "date": null, + "title": "Hey Ya! (Radio Mix / Club Mix)", + "artist": "Outkast", + "mbid": null + }, + "Owl City - Fireflies.mp3": { + "year": 2009, + "date": "2009-01-01", + "title": "Fireflies", + "artist": "Owl City", + "mbid": "059a2012-0bcf-4ef3-b550-69448247d1da" + }, + "O-Zone - Dragostea Din Tei.mp3": { + "year": 2003, + "date": "2003-06-03", + "title": "Dragostea Din Tei", + "artist": "O-Zone", + "mbid": "51a44337-22fc-404a-a4c5-2f3e29fb2754" + }, + "P!nk - Just Give Me a Reason (feat. Nate Ruess).mp3": { + "year": null, + "date": null, + "title": "Just Give Me a Reason (feat. Nate Ruess)", + "artist": "P!nk, Nate Ruess", + "mbid": null + }, + "Patrick Hernandez - Born to Be Alive (The Original).mp3": { + "year": null, + "date": null, + "title": "Born to Be Alive (The Original)", + "artist": "Patrick Hernandez", + "mbid": "0ce4e960-216e-431c-9362-ee2dbd6c2682" + }, + "Paul Simon - You Can Call Me Al.mp3": { + "year": 1986, + "date": "1986-08-29", + "title": "You Can Call Me Al", + "artist": "Paul Simon", + "mbid": "01e1696b-b3c7-4ffe-a42b-ec2c952f7429" + }, + "Percy Sledge - When a Man Loves a Woman.mp3": { + "year": 1972, + "date": "1972", + "title": "When a Man Loves a Woman", + "artist": "Percy Sledge", + "mbid": "30417b50-9c3f-4708-befb-98caaa417051" + }, + "Peter Fox - Haus am See.mp3": { + "year": 2008, + "date": "2008-09-26", + "title": "Haus am See", + "artist": "Peter Fox", + "mbid": "44b07fda-fc5c-4458-ac2d-217867d74b6f" + }, + "Peter Kraus - Sugar-Baby.mp3": { + "year": 1958, + "date": "1958", + "title": "Sugar-Baby", + "artist": "Peter Kraus", + "mbid": "69d8fc52-87ae-46e6-a332-02c3f7a28f1c" + }, + "Peter Schilling - Major Tom (...völlig losgelöst).mp3": { + "year": 1982, + "date": "1982", + "title": "Major Tom (...völlig losgelöst)", + "artist": "Peter Schilling", + "mbid": "318e146e-60f9-4298-8d4a-78b2657f668f" + }, + "Pharrell Williams - Happy (From Despicable Me 2).mp3": { + "year": null, + "date": null, + "title": "Happy (From \"Despicable Me 2\")", + "artist": "Pharrell Williams", + "mbid": null + }, + "Plastic Bertrand - Ca plane pour moi.mp3": { + "year": 1977, + "date": "1977", + "title": "Ca plane pour moi", + "artist": "Plastic Bertrand", + "mbid": "e1299622-8676-405a-9d0a-4ae7f2528e2f" + }, + "Portugal. The Man - Feel It Still.mp3": { + "year": 2017, + "date": "2017-03-02", + "title": "Feel It Still", + "artist": "Portugal. The Man", + "mbid": "6728f2b7-dec1-4098-8c91-362db1d0ff31" + }, + "Post Malone - Circles.mp3": { + "year": 2019, + "date": "2019-08-30", + "title": "Circles", + "artist": "Post Malone", + "mbid": "9d0a9e5c-a765-40ab-837e-99b0bb197f6c" + }, + "Prince - Purple Rain.mp3": { + "year": 1987, + "date": "1987", + "title": "Purple Rain", + "artist": "Prince", + "mbid": "255dd412-840f-4038-8dc1-60db9543ec9f" + }, + "Pur - Abenteuerland.mp3": { + "year": 1995, + "date": "1995", + "title": "Abenteuerland", + "artist": "Pur", + "mbid": "54e6351f-05d4-42cf-bb1c-e07cad78bc60" + }, + "Queen - Under Pressure.mp3": { + "year": null, + "date": null, + "title": "Under Pressure", + "artist": "Queen, David Bowie", + "mbid": null + }, + "R.E.M. - Everybody Hurts.mp3": { + "year": 1993, + "date": "1993", + "title": "Everybody Hurts", + "artist": "R.E.M.", + "mbid": "03af00eb-4da6-4131-837e-5e57c288802a" + }, + "Rammstein - Engel.mp3": { + "year": 1997, + "date": "1997-04-01", + "title": "Engel", + "artist": "Rammstein", + "mbid": "b96f272b-3370-4a6b-ba53-1e905374a451" + }, + "Red Hot Chili Peppers - Under the Bridge.mp3": { + "year": 1992, + "date": "1992", + "title": "Under the Bridge", + "artist": "Red Hot Chili Peppers", + "mbid": "2e9808d0-29e3-4f36-9ce6-5ed3914f3b2b" + }, + "Rednex - Cotton Eye Joe.mp3": { + "year": 1994, + "date": "1994-07-21", + "title": "Cotton Eye Joe", + "artist": "Rednex", + "mbid": "6d436fb9-4ec7-4141-9575-739b1e02a52f" + }, + "Reel 2 Real - I Like To Move It (feat. The Mad Stuntman) (Erick More Album Mix).mp3": { + "year": null, + "date": null, + "title": "I Like To Move It (feat. The Mad Stuntman) (Erick \"More\" Album Mix)", + "artist": "Reel 2 Real, The Mad Stuntman", + "mbid": null + }, + "Reinhard Mey - Über den Wolken.mp3": { + "year": 1974, + "date": "1974", + "title": "Über den Wolken", + "artist": "Reinhard Mey", + "mbid": "c3af23bd-ac48-4994-aa45-ff97529150bd" + }, + "Richard Marx - Right Here Waiting.mp3": { + "year": 1989, + "date": "1989", + "title": "Right Here Waiting", + "artist": "Richard Marx", + "mbid": "f74ddcbf-bcf6-42fd-8557-485b047cc276" + }, + "Rick James - Super Freak.mp3": { + "year": 1993, + "date": "1993", + "title": "Super Freak", + "artist": "Rick James", + "mbid": "bb507204-50d1-4a76-9037-1f8f62da7ac5" + }, + "Rio Reiser - König Von Deutschland.mp3": { + "year": 1986, + "date": "1986-11", + "title": "König Von Deutschland", + "artist": "Rio Reiser", + "mbid": "cf00a4dd-41ab-4097-8f8a-97f208968c87" + }, + "Ritchie Valens - La Bamba.mp3": { + "year": 1963, + "date": "1963", + "title": "La Bamba", + "artist": "Ritchie Valens", + "mbid": "821f5395-f90f-432f-a807-da8dbb45ceb6" + }, + "Robbie Williams - Feel.mp3": { + "year": 2002, + "date": "2002-11-18", + "title": "Feel", + "artist": "Robbie Williams", + "mbid": "6f99d9a8-8001-4166-974f-4580bbec8ad5" + }, + "Robin Thicke - Blurred Lines.mp3": { + "year": null, + "date": null, + "title": "Blurred Lines", + "artist": "Robin Thicke, T.I., Pharrell Williams", + "mbid": null + }, + "Roxette - Joyride.mp3": { + "year": 1991, + "date": "1991-03-27", + "title": "Joyride", + "artist": "Roxette", + "mbid": "82c72383-3863-4502-bf2a-cd1a53e2c489" + }, + "Roy Orbison - Oh, Pretty Woman.mp3": { + "year": 1990, + "date": "1990", + "title": "Oh, Pretty Woman", + "artist": "Roy Orbison", + "mbid": "6e765877-678d-488a-ad1e-ee8e315a92cb" + }, + "Rudi Carrell - Wann wird's mal wieder richtig Sommer (Original Mix).mp3": { + "year": null, + "date": null, + "title": "Wann wird's mal wieder richtig Sommer (Original Mix)", + "artist": "Rudi Carrell", + "mbid": null + }, + "Rufus - Ain't Nobody.mp3": { + "year": null, + "date": null, + "title": "Ain't Nobody", + "artist": "Rufus, Chaka Khan", + "mbid": null + }, + "Rupert Holmes - Escape (The Pina Colada Song).mp3": { + "year": 1979, + "date": "1979", + "title": "Escape (The Pina Colada Song)", + "artist": "Rupert Holmes", + "mbid": "71709e8c-fb6b-48c6-972a-851ecff0a60d" + }, + "Sam Cooke - (What A) Wonderful World  (Mono).mp3": { + "year": null, + "date": null, + "title": "(What A) Wonderful World  (Mono)", + "artist": "Sam Cooke", + "mbid": null + }, + "Sam the Sham & The Pharaohs - Wooly Bully.mp3": { + "year": 1966, + "date": "1966", + "title": "Wooly Bully", + "artist": "Sam the Sham & The Pharaohs", + "mbid": "441daaeb-c91a-40bc-86bd-7ff3baafcc4f" + }, + "Scorpions - Wind of Change.mp3": { + "year": 1991, + "date": "1991", + "title": "Wind of Change", + "artist": "Scorpions", + "mbid": "ab532d7e-1ff0-44cf-a229-301c3506aad6" + }, + "SDP - Die Nacht von Freitag auf Montag.mp3": { + "year": null, + "date": null, + "title": "Die Nacht von Freitag auf Montag", + "artist": "SDP, Sido", + "mbid": null + }, + "Shaggy - It Wasn't Me.mp3": { + "year": null, + "date": null, + "title": "It Wasn't Me", + "artist": "Shaggy, Ricardo Ducent", + "mbid": null + }, + "Shakira - Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single).mp3": { + "year": null, + "date": null, + "title": "Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single)", + "artist": "Shakira, Freshlyground", + "mbid": null + }, + "Shawn Mendes - Señorita.mp3": { + "year": null, + "date": null, + "title": "Señorita", + "artist": "Shawn Mendes, Camila Cabello", + "mbid": null + }, + "Sia - Cheap Thrills.mp3": { + "year": 2015, + "date": "2015-12-17", + "title": "Cheap Thrills", + "artist": "Sia", + "mbid": "8fcdf7b9-6a1c-40c5-aae0-a489dc8898ef" + }, + "Silbermond - Das Beste.mp3": { + "year": 2005, + "date": "2005-04-18", + "title": "Das Beste", + "artist": "Silbermond", + "mbid": "1fb661ee-5789-4ec3-a372-55417788a089" + }, + "Simply Red - Holding Back the Years (2008 Remaster).mp3": { + "year": null, + "date": null, + "title": "Holding Back the Years (2008 Remaster)", + "artist": "Simply Red", + "mbid": null + }, + "Sinéad O'Connor - Nothing Compares 2 U.mp3": { + "year": 1990, + "date": "1990", + "title": "Nothing Compares 2 U", + "artist": "Sinéad O'Connor", + "mbid": "cfa03e25-2700-490c-b087-9bc8feec5cb5" + }, + "Sister Sledge - We Are Family (1995 Remaster).mp3": { + "year": 2018, + "date": "2018-10-12", + "title": "We Are Family (1995 Remaster)", + "artist": "Sister Sledge", + "mbid": "94f14692-3dc9-458f-a9ae-4bac3acff1b4" + }, + "Siw Malmkvist - Liebeskummer lohnt sich nicht.mp3": { + "year": 1966, + "date": "1966", + "title": "Liebeskummer lohnt sich nicht", + "artist": "Siw Malmkvist", + "mbid": "596704c7-dfc3-42dc-ad0d-e72fc3ac72fb" + }, + "SNoW - Informer.mp3": { + "year": 1993, + "date": "1993", + "title": "Informer", + "artist": "SNoW", + "mbid": "81d0e771-20f9-450e-9c54-83af3687f304" + }, + "Sonny & Cher - I Got You Babe.mp3": { + "year": 1965, + "date": "1965", + "title": "I Got You Babe", + "artist": "Sonny & Cher", + "mbid": "ba61515c-1829-449c-bdb5-fb0f6a13e327" + }, + "Sophie Ellis-Bextor - Murder On The Dancefloor.mp3": { + "year": 2001, + "date": "2001-12-03", + "title": "Murder On The Dancefloor", + "artist": "Sophie Ellis-Bextor", + "mbid": "19164602-a33e-4da7-8bdd-7ede0897c47c" + }, + "Spice Girls - Stop.mp3": { + "year": 1997, + "date": "1997-10-31", + "title": "Stop", + "artist": "Spice Girls", + "mbid": "efeb152f-6eb4-485e-a547-3dfc8dad5346" + }, + "Spider Murphy Gang - Skandal im Sperrbezirk.mp3": { + "year": 1981, + "date": "1981-09", + "title": "Skandal im Sperrbezirk", + "artist": "Spider Murphy Gang", + "mbid": "526ac780-1b4a-4525-bd59-586946e893de" + }, + "Sportfreunde Stiller - Ein Kompliment.mp3": { + "year": 2002, + "date": "2002-03-04", + "title": "Ein Kompliment", + "artist": "Sportfreunde Stiller", + "mbid": "4a7ef2eb-2829-4946-a6bb-672373f4fb0e" + }, + "Steppenwolf - Born To Be Wild.mp3": { + "year": 1970, + "date": "1970-04", + "title": "Born To Be Wild", + "artist": "Steppenwolf", + "mbid": "28795e75-878f-48af-aa18-5f27ae6361fd" + }, + "Stevie Wonder - Part-Time Lover.mp3": { + "year": 1985, + "date": "1985-05-07", + "title": "Part-Time Lover", + "artist": "Stevie Wonder", + "mbid": "db0a4b68-5dc2-44b6-95c9-752b5ec69e66" + }, + "Sylvester - You Make Me Feel (Mighty Real).mp3": { + "year": 1979, + "date": "1979", + "title": "You Make Me Feel (Mighty Real)", + "artist": "Sylvester", + "mbid": "7134eba5-f912-426c-a44d-7c19d9d4706c" + }, + "Taio Cruz - Hangover.mp3": { + "year": null, + "date": null, + "title": "Hangover", + "artist": "Taio Cruz, Flo Rida", + "mbid": null + }, + "The Bangles - Manic Monday.mp3": { + "year": 1985, + "date": "1985", + "title": "Manic Monday", + "artist": "The Bangles", + "mbid": "2d2338fc-7ace-47fe-a36f-02c8db809a52" + }, + "The Beach Boys - Good Vibrations.mp3": { + "year": 1974, + "date": "1974", + "title": "Good Vibrations", + "artist": "The Beach Boys", + "mbid": "e9eb684a-5c5a-485e-ac76-ce799aeba7a0" + }, + "The Beach Boys - Surfin' U.S.A. (Mono).mp3": { + "year": 2008, + "date": "2008-06-10", + "title": "Surfin' U.S.A. (Mono)", + "artist": "The Beach Boys", + "mbid": "fa52f01e-6c8c-46ff-860d-daa4930f93a4" + }, + "The Beatles - Get Back (Remastered 2009).mp3": { + "year": null, + "date": null, + "title": "Get Back (Remastered 2009)", + "artist": "The Beatles", + "mbid": null + }, + "The Chordettes - Lollipop.mp3": { + "year": 1987, + "date": "1987", + "title": "Lollipop", + "artist": "The Chordettes", + "mbid": "ed626d61-415e-4a4c-bcc0-89805243ab8b" + }, + "The Commodores - Easy.mp3": { + "year": 2002, + "date": "2002", + "title": "Easy", + "artist": "The Commodores", + "mbid": "0b0e1974-584b-44c3-90f1-ed43ac8b920d" + }, + "The Cranberries - Zombie.mp3": { + "year": 1994, + "date": "1994-09", + "title": "Zombie", + "artist": "The Cranberries", + "mbid": "5f843af3-5d20-433c-9cf7-4413c92073bc" + }, + "The Cure - Friday I'm In Love.mp3": { + "year": 1992, + "date": "1992", + "title": "Friday I'm In Love", + "artist": "The Cure", + "mbid": "bde8feda-2711-42ab-b6b0-9f9ad8c8e66c" + }, + "The Four Seasons - December, 1963 (Oh What a Night!).mp3": { + "year": 1975, + "date": "1975-11", + "title": "December, 1963 (Oh What a Night!)", + "artist": "The Four Seasons", + "mbid": "f22db82f-6c55-45cf-966c-ad64662bba5b" + }, + "The Hollies - He Ain't Heavy He's My Brother.mp3": { + "year": 1969, + "date": "1969-09-01", + "title": "He Ain't Heavy He's My Brother", + "artist": "The Hollies", + "mbid": "da9e8196-4677-4b5f-8285-ee5e8699459a" + }, + "The Human League - Don't You Want Me.mp3": { + "year": 1982, + "date": "1982", + "title": "Don't You Want Me", + "artist": "The Human League", + "mbid": "a1280d2b-d7f2-44fd-ae6c-dec441749bb8" + }, + "The Kinks - Lola.mp3": { + "year": 1970, + "date": "1970-06-12", + "title": "Lola", + "artist": "The Kinks", + "mbid": "8f86baef-a44a-4033-8c6b-3e4fb06e7e14" + }, + "The Monkees - I'm a Believer.mp3": { + "year": 1975, + "date": "1975", + "title": "I'm a Believer", + "artist": "The Monkees", + "mbid": "1bb8b072-d300-4940-be9c-28800f15a29a" + }, + "The Police - Every Breath You Take (Remastered 2003).mp3": { + "year": 2023, + "date": "2023-08-11", + "title": "Every Breath You Take (Remastered 2003)", + "artist": "The Police", + "mbid": "e60981c2-c79a-4687-ac26-7ad730fe34e6" + }, + "The Rolling Stones - (I Can't Get No) Satisfaction (Mono).mp3": { + "year": 2022, + "date": "2022", + "title": "(I Can't Get No) Satisfaction (Mono)", + "artist": "The Rolling Stones", + "mbid": "c02ff73a-59d3-409c-aa6a-288ad431f3d2" + }, + "The Rolling Stones - Start Me Up (Remastered 2009).mp3": { + "year": 2023, + "date": "2023", + "title": "Start Me Up (Remastered 2009)", + "artist": "The Rolling Stones", + "mbid": "a832bd7d-2f5a-48f3-960c-161903ddf126" + }, + "The Supremes - You Can't Hurry Love.mp3": { + "year": 1995, + "date": "1995", + "title": "You Can't Hurry Love", + "artist": "The Supremes", + "mbid": "aeb60866-b57e-4ab1-bf3b-c6b2334d4755" + }, + "The Trammps - Disco Inferno.mp3": { + "year": 1976, + "date": "1976-12-29", + "title": "Disco Inferno", + "artist": "The Trammps", + "mbid": "fe1bbf77-90a5-4d5d-9a7e-b002966510c8" + }, + "The Verve - Bitter Sweet Symphony (Remastered 2016).mp3": { + "year": null, + "date": null, + "title": "Bitter Sweet Symphony (Remastered 2016)", + "artist": "The Verve", + "mbid": null + }, + "The Weeknd - Blinding Lights.mp3": { + "year": 2019, + "date": "2019-11-29", + "title": "Blinding Lights", + "artist": "The Weeknd", + "mbid": "1a67e215-a19e-40c9-9b12-732de134bf5f" + }, + "Thelma Houston - Don't Leave Me This Way.mp3": { + "year": 1984, + "date": "1984-09-15", + "title": "Don't Leave Me This Way", + "artist": "Thelma Houston", + "mbid": "041c3add-3ba9-408c-a47f-20cc425f7ea7" + }, + "Tic Tac Toe - Warum.mp3": { + "year": 1997, + "date": "1997-02-24", + "title": "Warum?", + "artist": "Tic Tac Toe", + "mbid": "09d8a8c6-1519-4cb1-b296-23215d2c4715" + }, + "Tim Bendzko - Nur noch kurz die Welt retten.mp3": { + "year": 2011, + "date": "2011-05-30", + "title": "Nur noch kurz die Welt retten", + "artist": "Tim Bendzko", + "mbid": "54615b3a-ebde-4855-83cc-d7b558c526e6" + }, + "Tina Turner - The Best.mp3": { + "year": 1989, + "date": "1989-09-12", + "title": "The Best", + "artist": "Tina Turner", + "mbid": "c8ac6945-bd95-4ddc-b7f7-bc2237db0ef7" + }, + "Tokio Hotel - Durch den Monsun (Radio Mix).mp3": { + "year": null, + "date": null, + "title": "Durch den Monsun (Radio Mix)", + "artist": "Tokio Hotel", + "mbid": null + }, + "Tom Jones - She's A Lady.mp3": { + "year": 1971, + "date": "1971", + "title": "She's A Lady", + "artist": "Tom Jones", + "mbid": "2fb5f013-77dd-4532-9f5c-10bcac7173c2" + }, + "Tones and I - Dance Monkey.mp3": { + "year": 2019, + "date": "2019-05-10", + "title": "Dance Monkey", + "artist": "Tones and I", + "mbid": "c0f89d6a-d740-4f91-b6e1-d5e8572268c1" + }, + "Toploader - Dancing in the Moonlight.mp3": { + "year": 2000, + "date": "2000", + "title": "Dancing in the Moonlight", + "artist": "Toploader", + "mbid": "e392d283-545e-4522-9093-2f81cb573555" + }, + "Torfrock - Beinhart (Single Version).mp3": { + "year": 2006, + "date": "2006-06-25", + "title": "Beinhart (Single Version)", + "artist": "Torfrock", + "mbid": "38a0743b-b925-4729-9237-1a03d721e5f7" + }, + "Toto - Africa.mp3": { + "year": 1982, + "date": "1982", + "title": "Africa", + "artist": "Toto", + "mbid": "4d89c734-db46-4418-86c0-3f00814412bd" + }, + "T'pau - China In Your Hand (Single Version).mp3": { + "year": 2009, + "date": "2009-06-08", + "title": "China In Your Hand (Single Version)", + "artist": "T'pau", + "mbid": "56a5d0fc-a0c3-4e07-91b5-0c8c77b43ab2" + }, + "Tracy Chapman - Fast Car.mp3": { + "year": 1988, + "date": "1988-04-05", + "title": "Fast Car", + "artist": "Tracy Chapman", + "mbid": "883821fc-9bbc-4e04-be79-b4b12c4c4a4e" + }, + "Train - Hey, Soul Sister.mp3": { + "year": 2009, + "date": "2009-10-26", + "title": "Hey, Soul Sister", + "artist": "Train", + "mbid": "f939409f-c292-4a8f-ad18-3d8d4cc07376" + }, + "Trude Herr - Ich will keine Schokolade.mp3": { + "year": 1960, + "date": "1960", + "title": "Ich will keine Schokolade", + "artist": "Trude Herr", + "mbid": "31cf1929-bd55-46bc-b33d-3e323e1c4a3c" + }, + "U96 - Das Boot.mp3": { + "year": 1992, + "date": "1992", + "title": "Das Boot", + "artist": "U96", + "mbid": "640e5c64-e006-4026-bea4-ca5b7ee8ec28" + }, + "Udo Jürgens - Siebzehn Jahr, blondes Haar.mp3": { + "year": 1965, + "date": "1965", + "title": "Siebzehn Jahr, blondes Haar", + "artist": "Udo Jürgens", + "mbid": "133f4646-b4bb-4e98-9573-2945997301f5" + }, + "Unheilig - Geboren um zu leben.mp3": { + "year": 2010, + "date": "2010-01-29", + "title": "Geboren um zu leben", + "artist": "Unheilig", + "mbid": "a88a1877-700b-4290-b796-0ae5b6a896ae" + }, + "Van McCoy & The Soul City Symphony - The Hustle.mp3": { + "year": 1975, + "date": "1975", + "title": "The Hustle", + "artist": "Van McCoy & The Soul City Symphony", + "mbid": "cc1c08ef-ba53-4e58-a2be-865cdfc30b1a" + }, + "Vanilla Ice - Ice Ice Baby.mp3": { + "year": 1990, + "date": "1990", + "title": "Ice Ice Baby", + "artist": "Vanilla Ice", + "mbid": "1cd7d430-7daf-4758-bad1-1c34f71d42ca" + }, + "Vaya Con Dios - Nah Neh Nah.mp3": { + "year": 1990, + "date": "1990-10-31", + "title": "Nah Neh Nah", + "artist": "Vaya Con Dios", + "mbid": "ac8f200b-0efd-478f-abe4-7dc0266e73e9" + }, + "Wencke Myhre - Er hat ein knallrotes Gummiboot.mp3": { + "year": 1970, + "date": "1970", + "title": "Er hat ein knallrotes Gummiboot", + "artist": "Wencke Myhre", + "mbid": "e62b5ab5-0131-4db5-82d5-2b14a074276d" + }, + "Wet Wet Wet - Love Is All Around (From Four Weddings And A Funeral).mp3": { + "year": null, + "date": null, + "title": "Love Is All Around (From \"Four Weddings And A Funeral\")", + "artist": "Wet Wet Wet", + "mbid": null + }, + "Whitney Houston - I Wanna Dance with Somebody (Who Loves Me).mp3": { + "year": 1987, + "date": "1987", + "title": "I Wanna Dance with Somebody (Who Loves Me)", + "artist": "Whitney Houston", + "mbid": "3b100fc8-dcd9-4feb-b6e1-6fae5574f023" + }, + "Will Smith - Gettin' Jiggy Wit It.mp3": { + "year": 1997, + "date": "1997-11-24", + "title": "Gettin' Jiggy Wit It", + "artist": "Will Smith", + "mbid": "979013be-6050-48d3-81cf-8fbe4130b9af" + }, + "Wincent Weiss - Die guten Zeiten.mp3": { + "year": null, + "date": null, + "title": "Die guten Zeiten", + "artist": "Wincent Weiss, Johannes Oerding", + "mbid": null + }, + "Wolfgang Petry - Wahnsinn.mp3": { + "year": 1983, + "date": "1983", + "title": "Wahnsinn", + "artist": "Wolfgang Petry", + "mbid": "2e9d400a-d316-4f23-8cb0-0fe0aec42267" + }, + "Yazoo - Don't Go.mp3": { + "year": 1981, + "date": "1981", + "title": "Don't Go", + "artist": "Yazoo", + "mbid": "2a6ab198-23f1-4653-9a5f-43dd2cb56d21" + }, + "50 Cent - In Da Club.mp3": { + "year": 2002, + "date": "2002", + "title": "In Da Club", + "artist": "50 Cent", + "mbid": "e094af7b-77bc-4581-a9c6-a207b0cd5fe3" + }, + "ABBA - Waterloo.mp3": { + "year": 1974, + "date": "1974-03-04", + "title": "Waterloo", + "artist": "ABBA", + "mbid": "bfdcfb41-167c-4f5b-b163-bde83bbf69ac" + }, + "Ace of Base - All That She Wants.mp3": { + "year": 1993, + "date": "1993", + "title": "All That She Wants", + "artist": "Ace of Base", + "mbid": "8c429ef6-3338-44b3-8d77-2fb486cd10ab" + }, + "Adele - Set Fire to the Rain.mp3": { + "year": 2011, + "date": "2011-01-19", + "title": "Set Fire to the Rain", + "artist": "Adele", + "mbid": "d1e0a99e-1894-457b-ba6a-985eeef4d0c4" + } + }, + "results": [ + { + "file": "Akon - Lonely.mp3", + "title": "Lonely", + "artist": "Akon", + "mbid": "bd49579a-c577-4df4-afc0-9c4ff7a10e18", + "earliestDate": "2005", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 235102, + "matchedDurationMs": 234946 + }, + "fromCache": true + }, + { + "file": "Alessia Cara - Scars To Your Beautiful.mp3", + "title": "Scars To Your Beautiful", + "artist": "Alessia Cara", + "mbid": "6a8875d3-3bb5-4c5b-9498-e5f2ae6dd1d1", + "earliestDate": "2015-03-11", + "year": 2015, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 230269, + "matchedDurationMs": 230240 + }, + "fromCache": true + }, + { + "file": "Alicia Keys - Fallin'.mp3", + "title": "Fallin'", + "artist": "Alicia Keys", + "mbid": "7276155b-a01b-42a9-9d31-eb0c317d07b8", + "earliestDate": "2001-06-05", + "year": 2001, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210233, + "matchedDurationMs": 210466 + }, + "fromCache": true + }, + { + "file": "Alicia Keys - No One.mp3", + "title": "No One", + "artist": "Alicia Keys", + "mbid": "83fa4748-2c91-4981-b480-23a764d69fc7", + "earliestDate": "2007-09-10", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 253858, + "matchedDurationMs": 254173 + }, + "fromCache": true + }, + { + "file": "Alphaville - Forever Young.mp3", + "title": "Forever Young", + "artist": "Alphaville", + "mbid": "37d2fc01-4933-481b-b6e4-9039585d22d3", + "earliestDate": "1984-09-27", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 226743, + "matchedDurationMs": 226000 + }, + "fromCache": true + }, + { + "file": "Alvaro Soler - La Cintura.mp3", + "title": "La Cintura", + "artist": "Alvaro Soler", + "mbid": "ce43ae03-91d2-41f3-84ef-2c640241c09f", + "earliestDate": "2018-03-29", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 0.3333333333333333, + "durationMs": 204696, + "matchedDurationMs": 204520 + }, + "fromCache": true + }, + { + "file": "Amii Stewart - Knock On Wood.mp3", + "title": "Knock On Wood", + "artist": "Amii Stewart", + "mbid": "1880e2a2-e47e-4a28-ad6e-c7deb444291e", + "earliestDate": "1979-01-15", + "year": 1979, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 250567, + "matchedDurationMs": 218333 + }, + "fromCache": true + }, + { + "file": "Amy Winehouse - Rehab.mp3", + "title": "Rehab", + "artist": "Amy Winehouse", + "mbid": "873eba85-b721-4728-be2e-96ce94cccb8b", + "earliestDate": "2006-10-23", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 213786, + "matchedDurationMs": 214000 + }, + "fromCache": true + }, + { + "file": "Anastacia - Sick and Tired.mp3", + "title": "Sick and Tired", + "artist": "Anastacia", + "mbid": "52bc36a0-2559-49bc-9b86-4a420ec9cb27", + "earliestDate": "2004-03-25", + "year": 2004, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210181, + "matchedDurationMs": 210146 + }, + "fromCache": true + }, + { + "file": "Andreas Bourani - Auf uns.mp3", + "title": "Auf uns", + "artist": "Andreas Bourani", + "mbid": "7b41e8fa-4b97-45c0-b260-40a443ad0466", + "earliestDate": "2014-04-25", + "year": 2014, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 239491, + "matchedDurationMs": 240000 + }, + "fromCache": true + }, + { + "file": "Annie Lennox - Why.mp3", + "title": "Why", + "artist": "Annie Lennox", + "mbid": "28734584-3a00-4072-8e09-dc5c40c0d50a", + "earliestDate": "1992-04-06", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 293224, + "matchedDurationMs": 294000 + } + }, + { + "file": "Aqua - Barbie Girl.mp3", + "title": "Barbie Girl", + "artist": "Aqua", + "mbid": "5268ded7-3c3c-465b-805f-cb14e407ec2d", + "earliestDate": "1997-05-14", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 197956, + "matchedDurationMs": 195360 + } + }, + { + "file": "Aretha Franklin - Respect.mp3", + "title": "Respect", + "artist": "Aretha Franklin", + "mbid": "6a7014c2-dcb2-4179-a88b-f172f25a7d93", + "earliestDate": "1971-05-19", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 147644, + "matchedDurationMs": 223000 + } + }, + { + "file": "Atomic Kitten - Whole Again.mp3", + "title": "Whole Again", + "artist": "Atomic Kitten", + "mbid": "e8bdfb1b-3de6-43f7-b917-bd76238af931", + "earliestDate": "2001", + "year": 2001, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 186645, + "matchedDurationMs": 186333 + } + }, + { + "file": "Avicii - Without You.mp3", + "title": "Without You", + "artist": "Avicii, Sandro Cavazza", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Betty Everett - It's In The Kiss (The Shoop Shoop Song).mp3", + "title": "It's In The Kiss (The Shoop Shoop Song)", + "artist": "Betty Everett", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Beyoncé - Crazy In Love (feat. JAY-Z).mp3", + "title": "Crazy In Love (feat. JAY-Z)", + "artist": "Beyoncé, JAY Z", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Bill Haley & His Comets - (We're Gonna) Rock Around The Clock (Single Version).mp3", + "title": "(We're Gonna) Rock Around The Clock (Single Version)", + "artist": "Bill Haley & His Comets", + "mbid": "5e17cc2d-368d-4abb-b22c-71b08d6cfef9", + "earliestDate": "2014-09-19", + "year": 2014, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 131187, + "matchedDurationMs": 129880 + } + }, + { + "file": "Bill Haley & His Comets - See You Later, Alligator.mp3", + "title": "See You Later, Alligator", + "artist": "Bill Haley & His Comets", + "mbid": "732b4543-1820-4cb6-b7cb-25c0356f1f5b", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163840, + "matchedDurationMs": null + } + }, + { + "file": "Bill Medley - (I've Had) The Time Of My Life (From Dirty Dancing Soundtrack).mp3", + "title": "(I've Had) The Time Of My Life (From \"Dirty Dancing\" Soundtrack)", + "artist": "Bill Medley, Jennifer Warnes", + "mbid": "3da1ab83-49aa-4b69-a6e9-9566f3c3f5fa", + "earliestDate": "2024-01-19", + "year": 2024, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 290377, + "matchedDurationMs": 290000 + } + }, + { + "file": "Bill Ramsey - Zuckerpuppe (Aus der Bauchtanz-Truppe).mp3", + "title": "Zuckerpuppe (Aus der Bauchtanz-Truppe)", + "artist": "Bill Ramsey", + "mbid": "81669066-c680-4574-88bc-466764ebca61", + "earliestDate": "1961-10", + "year": 1961, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163370, + "matchedDurationMs": 163000 + } + }, + { + "file": "Billie Eilish - bad guy.mp3", + "title": "bad guy", + "artist": "Billie Eilish", + "mbid": "694da04d-1ffc-435c-8b4b-59cc23ac8003", + "earliestDate": "2019-03-29", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194116, + "matchedDurationMs": 194000 + } + }, + { + "file": "Billy Idol - White Wedding.mp3", + "title": "White Wedding", + "artist": "Billy Idol", + "mbid": "1884c8f3-64fc-4fac-8400-abea54129026", + "earliestDate": "1983", + "year": 1983, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 505130, + "matchedDurationMs": 213400 + } + }, + { + "file": "Billy Joel - Piano Man.mp3", + "title": "Piano Man", + "artist": "Billy Joel", + "mbid": "92ac918a-07f6-4f5e-b356-5897723310ca", + "earliestDate": "1973-11-09", + "year": 1973, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 339043, + "matchedDurationMs": 338666 + }, + "fromCache": true + }, + { + "file": "Billy Swan - I Can Help.mp3", + "title": "I Can Help", + "artist": "Billy Swan", + "mbid": "d7df9be9-f549-44cb-ad4a-6b2b2628385d", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240065, + "matchedDurationMs": 238440 + } + }, + { + "file": "Black Eyed Peas - Where Is The Love.mp3", + "title": "Where Is The Love?", + "artist": "Black Eyed Peas", + "mbid": "5f21eb12-f84e-45f1-b3d7-c3e1d4ea0085", + "earliestDate": "2003", + "year": 2003, + "confidence": { + "mbScore": 92, + "titleSim": 1, + "artistSim": 0.75, + "durationMs": 272562, + "matchedDurationMs": 272000 + } + }, + { + "file": "Blümchen - Herz an Herz.mp3", + "title": "Herz an Herz", + "artist": "Blümchen", + "mbid": "2d3cf4d6-614c-4e78-9bc2-9e355f979516", + "earliestDate": "1996", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 227030, + "matchedDurationMs": 227000 + } + }, + { + "file": "Bob Marley & The Wailers - No Woman No Cry.mp3", + "title": "No Woman No Cry", + "artist": "Bob Marley & The Wailers", + "mbid": "5f92f7de-f6b4-4c52-9f87-e774a268e194", + "earliestDate": "1973-10", + "year": 1973, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 226273, + "matchedDurationMs": 422733 + } + }, + { + "file": "Bob Sinclar - World Hold on (Children of the Sky) [Radio Edit].mp3", + "title": "World Hold on (Children of the Sky) [Radio Edit]", + "artist": "Bob Sinclar, Steve Edwards", + "mbid": "9cb36936-6524-4852-ac2d-dd1afac884fa", + "earliestDate": "2018-05-04", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 0.5, + "artistSim": 0.5714285714285714, + "durationMs": 199236, + "matchedDurationMs": 172000 + } + }, + { + "file": "Bon Jovi - It's My Life.mp3", + "title": "It's My Life", + "artist": "Bon Jovi", + "mbid": "511096e6-7737-4514-8f23-bfa0dac765ec", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 224522, + "matchedDurationMs": 539000 + } + }, + { + "file": "Bonnie Tyler - It's A Heartache.mp3", + "title": "It's A Heartache", + "artist": "Bonnie Tyler", + "mbid": "58141b98-0bc6-463d-829a-61ee919a46d5", + "earliestDate": "1977", + "year": 1977, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 209789, + "matchedDurationMs": null + } + }, + { + "file": "Boston - More Than a Feeling.mp3", + "title": "More Than a Feeling", + "artist": "Boston", + "mbid": "a15a76ab-ee46-4212-8b15-86424020f579", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 283011, + "matchedDurationMs": 200000 + } + }, + { + "file": "Brandy - The Boy Is Mine.mp3", + "title": "The Boy Is Mine", + "artist": "Brandy, Monica", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Britney Spears - Oops!...I Did It Again.mp3", + "title": "Oops!...I Did It Again", + "artist": "Britney Spears", + "mbid": "44abd7d3-c593-4587-a109-6d9582f13f36", + "earliestDate": "2000-04-25", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210887, + "matchedDurationMs": 211733 + } + }, + { + "file": "Bronski Beat - Smalltown Boy.mp3", + "title": "Smalltown Boy", + "artist": "Bronski Beat", + "mbid": "8a4030f8-abe4-47ba-969d-aca6b878ff07", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 302446, + "matchedDurationMs": 540000 + } + }, + { + "file": "Bruce Springsteen - Dancing In the Dark.mp3", + "title": "Dancing In the Dark", + "artist": "Bruce Springsteen", + "mbid": "3ecd975b-f6ef-4f44-b181-6ec822323756", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 241345, + "matchedDurationMs": null + } + }, + { + "file": "Bryan Adams - Heaven.mp3", + "title": "Heaven", + "artist": "Bryan Adams", + "mbid": "d5050809-f33a-44bb-8ec1-dc996375e272", + "earliestDate": "1985-04-27", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 245185, + "matchedDurationMs": null + } + }, + { + "file": "Bryan Ferry - Let's Stick Together (1999 Remastered Version).mp3", + "title": "Let's Stick Together (1999 Remastered Version)", + "artist": "Bryan Ferry", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Buddy Poke - Ab in den Süden.mp3", + "title": "Ab in den Süden", + "artist": "Buddy Poke", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Captain Jack - Captain Jack (Short Mix).mp3", + "title": "Captain Jack (Short Mix)", + "artist": "Captain Jack", + "mbid": "b349be1d-edac-4632-9a9b-f4a9b3e5e844", + "earliestDate": "1995-01-01", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248581, + "matchedDurationMs": 248131 + } + }, + { + "file": "Carly Simon - You're So Vain.mp3", + "title": "You're So Vain", + "artist": "Carly Simon", + "mbid": "27089139-92c0-499c-9597-c66c9b11bdfd", + "earliestDate": "1972-11-25", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 258456, + "matchedDurationMs": 258252 + } + }, + { + "file": "Caterina Valente - Ganz Paris Traumt Von Der Liebe.mp3", + "title": "Ganz Paris Traumt Von Der Liebe", + "artist": "Caterina Valente", + "mbid": "300ec8d8-5053-46ed-92ed-77748648a450", + "earliestDate": "1954", + "year": 1954, + "confidence": { + "mbScore": 100, + "titleSim": 0.625, + "artistSim": 1, + "durationMs": 172356, + "matchedDurationMs": 173000 + } + }, + { + "file": "Caterina Valente - Itsy Bitsy Teenie Weenie Honolulu Strand Bikini.mp3", + "title": "Itsy Bitsy Teenie Weenie Honolulu Strand Bikini", + "artist": "Caterina Valente, Silvio Francesco", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Céline Dion - My Heart Will Go On (Love Theme from Titanic).mp3", + "title": "My Heart Will Go On (Love Theme from \"Titanic\")", + "artist": "Céline Dion", + "mbid": "21a833ca-7b2b-4a55-a5d6-06495535e26d", + "earliestDate": "1997-11-18", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 281287, + "matchedDurationMs": 310733 + } + }, + { + "file": "Cher - Believe.mp3", + "title": "Believe", + "artist": "Cher", + "mbid": "c454ddd8-8d0c-419d-b4e9-65620785851e", + "earliestDate": "1998-10-12", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 239073, + "matchedDurationMs": 238693 + } + }, + { + "file": "Chic - Le Freak (2018 Remaster).mp3", + "title": "Le Freak (2018 Remaster)", + "artist": "Chic", + "mbid": "b33a9130-63d8-4bf0-a4a2-4bb421ac68e1", + "earliestDate": "2019-03-29", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 331389, + "matchedDurationMs": 331000 + } + }, + { + "file": "Chicago - If You Leave Me Now (Remastered LP Version).mp3", + "title": "If You Leave Me Now (Remastered LP Version)", + "artist": "Chicago", + "mbid": "ef91cc0f-3ebe-4ead-834e-cb34243c3e29", + "earliestDate": "2004-09-15", + "year": 2004, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 235416, + "matchedDurationMs": 236000 + } + }, + { + "file": "Christina Aguilera - Genie in a Bottle.mp3", + "title": "Genie in a Bottle", + "artist": "Christina Aguilera", + "mbid": "fbe9ad8c-3a31-4b5a-9710-228b8c77907b", + "earliestDate": "1999-04", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 217600, + "matchedDurationMs": 217293 + } + }, + { + "file": "Chubby Checker - The Twist.mp3", + "title": "The Twist", + "artist": "Chubby Checker", + "mbid": "55e17d71-03a0-4df4-b381-7c5e421782a6", + "earliestDate": "1960-06", + "year": 1960, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 158903, + "matchedDurationMs": 152000 + } + }, + { + "file": "Chuck Berry - Johnny B. Goode.mp3", + "title": "Johnny B. Goode", + "artist": "Chuck Berry", + "mbid": "0a506cdb-0101-4268-9b43-3c64b8498e99", + "earliestDate": "1972", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 162664, + "matchedDurationMs": 164000 + } + }, + { + "file": "Cliff Richard - Congratulations (1998 Remaster).mp3", + "title": "Congratulations (1998 Remaster)", + "artist": "Cliff Richard", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Coldplay - Talk.mp3", + "title": "Talk", + "artist": "Coldplay", + "mbid": "9cd3daca-eab7-4db8-8af8-21b3da550c28", + "earliestDate": "2005-06-01", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 311327, + "matchedDurationMs": 311253 + } + }, + { + "file": "Connie Francis - Schöner fremder Mann.mp3", + "title": "Schöner fremder Mann", + "artist": "Connie Francis", + "mbid": "e765f8d5-1647-4ead-9547-3d445e06ac5c", + "earliestDate": "1961", + "year": 1961, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163997, + "matchedDurationMs": 162000 + } + }, + { + "file": "Coolio - Gangsta's Paradise.mp3", + "title": "Gangsta's Paradise", + "artist": "Coolio, L.V.", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Corinne Bailey Rae - Put Your Records On.mp3", + "title": "Put Your Records On", + "artist": "Corinne Bailey Rae", + "mbid": "a2ca096d-b51b-4bd5-bda0-a0875c5f9657", + "earliestDate": "2006-02-21", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215406, + "matchedDurationMs": 215000 + } + }, + { + "file": "Cornelia Froboess - Pack Die Badehose Ein.mp3", + "title": "Pack Die Badehose Ein", + "artist": "Cornelia Froboess", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Creedence Clearwater Revival - Have You Ever Seen The Rain.mp3", + "title": "Have You Ever Seen The Rain", + "artist": "Creedence Clearwater Revival", + "mbid": "b5634bbd-cf5c-4206-8063-f7f5079eaa29", + "earliestDate": "1970-12-07", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 160183, + "matchedDurationMs": 160000 + } + }, + { + "file": "CRO - Einmal um die Welt.mp3", + "title": "Einmal um die Welt", + "artist": "CRO", + "mbid": "6d77e594-5a1b-4eda-9d93-ad0a26aa9212", + "earliestDate": "2011-02-11", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 142498, + "matchedDurationMs": 140000 + } + }, + { + "file": "Crowded House - Don't Dream It's Over.mp3", + "title": "Don't Dream It's Over", + "artist": "Crowded House", + "mbid": "7d066fb2-06d2-4297-862a-b9cd14d595a1", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 236983, + "matchedDurationMs": 353360 + } + }, + { + "file": "Culture Beat - Mr. Vain.mp3", + "title": "Mr. Vain", + "artist": "Culture Beat", + "mbid": "bdffee79-99c0-4b47-a8e9-f94960778f5e", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 336875, + "matchedDurationMs": 336800 + } + }, + { + "file": "Culture Club - Karma Chameleon.mp3", + "title": "Karma Chameleon", + "artist": "Culture Club", + "mbid": "bf1c6620-3b9a-4878-938b-b9f81001666b", + "earliestDate": "1995", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240588, + "matchedDurationMs": 236000 + } + }, + { + "file": "Cyndi Lauper - True Colors.mp3", + "title": "True Colors", + "artist": "Cyndi Lauper", + "mbid": "531c800f-ae39-4942-aeeb-05a44f1dcdcf", + "earliestDate": "1986-09-05", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 226220, + "matchedDurationMs": 227293 + } + }, + { + "file": "Daft Punk - One More Time (Short Radio Edit).mp3", + "title": "One More Time (Short Radio Edit)", + "artist": "Daft Punk", + "mbid": "c3c3b281-5943-4c7d-bd1c-69d877277714", + "earliestDate": "2000-11-13", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 235494, + "matchedDurationMs": 235235 + } + }, + { + "file": "Danny and The Juniors - At The Hop.mp3", + "title": "At The Hop", + "artist": "Danny and The Juniors", + "mbid": "8e980a28-f25b-495e-94be-b19b56f6019c", + "earliestDate": "1986", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 153051, + "matchedDurationMs": 151000 + } + }, + { + "file": "Daryl Hall & John Oates - Maneater.mp3", + "title": "Maneater", + "artist": "Daryl Hall & John Oates", + "mbid": "83e2444b-5445-400c-8215-f12f81d6f615", + "earliestDate": "1994", + "year": 1994, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 272039, + "matchedDurationMs": 265960 + } + }, + { + "file": "David Bowie - Space Oddity (1999 Remaster).mp3", + "title": "Space Oddity (1999 Remaster)", + "artist": "David Bowie", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Dean Martin - That's Amore (2001 Remastered Version).mp3", + "title": "That's Amore (2001 Remastered Version)", + "artist": "Dean Martin", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Diana Ross - Upside Down (Single Version).mp3", + "title": "Upside Down (Single Version)", + "artist": "Diana Ross", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Die Ärzte - Junge.mp3", + "title": "Junge", + "artist": "Die Ärzte", + "mbid": "bd95f4ef-fedb-4d2e-b33b-b4b574f31bd4", + "earliestDate": "2007-10-05", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 187585, + "matchedDurationMs": 187613 + } + }, + { + "file": "Die Ärzte - Westerland.mp3", + "title": "Westerland", + "artist": "Die Ärzte", + "mbid": "8e0d5bf4-0cc0-4ee9-a18c-e6f90f03d737", + "earliestDate": "1988-04-08", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221205, + "matchedDurationMs": 220000 + } + }, + { + "file": "Die Doofen - MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version.mp3", + "title": "MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version", + "artist": "Die Doofen", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Die Firma - Die Eine.mp3", + "title": "Die Eine", + "artist": "Die Firma", + "mbid": "f8694c99-2c05-45ab-b558-a54b7851e039", + "earliestDate": "1998-04-03", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240013, + "matchedDurationMs": 240240 + } + }, + { + "file": "Die Prinzen - Alles nur geklaut.mp3", + "title": "Alles nur geklaut", + "artist": "Die Prinzen", + "mbid": "b2630eb0-8b16-4901-8a8d-b0d146b7913c", + "earliestDate": "1993-11-12", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 191843, + "matchedDurationMs": 193000 + } + }, + { + "file": "Die Toten Hosen - Tage wie diese.mp3", + "title": "Tage wie diese", + "artist": "Die Toten Hosen", + "mbid": "f958b654-eef3-4496-b751-b61edfe146c9", + "earliestDate": "2012-03-23", + "year": 2012, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 268460, + "matchedDurationMs": 268426 + } + }, + { + "file": "Dion - The Wanderer.mp3", + "title": "The Wanderer", + "artist": "Dion", + "mbid": "33c480f2-5f9a-43db-91b4-6834a23ea76f", + "earliestDate": "1961", + "year": 1961, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163657, + "matchedDurationMs": 160000 + } + }, + { + "file": "Dire Straits - Walk Of Life.mp3", + "title": "Walk Of Life", + "artist": "Dire Straits", + "mbid": "2defe75f-52c3-49d7-9cb9-7dbc4749c6dd", + "earliestDate": "1985", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248947, + "matchedDurationMs": 239000 + } + }, + { + "file": "Dolly Parton - Jolene.mp3", + "title": "Jolene", + "artist": "Dolly Parton", + "mbid": "58751150-daa4-4b72-802a-555d6ea0a6e7", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 161437, + "matchedDurationMs": 181000 + } + }, + { + "file": "Dr. Alban - Sing Hallelujah!.mp3", + "title": "Sing Hallelujah!", + "artist": "Dr. Alban", + "mbid": "4166d83c-7aba-497d-98a2-20ab971c767a", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240980, + "matchedDurationMs": 241080 + } + }, + { + "file": "Drafi Deutscher - Marmor, Stein und Eisen bricht.mp3", + "title": "Marmor, Stein und Eisen bricht", + "artist": "Drafi Deutscher", + "mbid": "884df235-f5e4-4d69-a05a-993c03456100", + "earliestDate": "1982-10", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 156134, + "matchedDurationMs": 192133 + } + }, + { + "file": "Drake - Toosie Slide.mp3", + "title": "Toosie Slide", + "artist": "Drake", + "mbid": "de4c54c9-6171-4cec-8866-d5f41b24d51d", + "earliestDate": "2020-04-03", + "year": 2020, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 247092, + "matchedDurationMs": 247058 + } + }, + { + "file": "Dschinghis Khan - Moskau (2007 Version).mp3", + "title": "Moskau (2007 Version)", + "artist": "Dschinghis Khan", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Dua Lipa - Break My Heart.mp3", + "title": "Break My Heart", + "artist": "Dua Lipa", + "mbid": "ba2a214d-39b0-4b53-8b20-b2b80cf9bfab", + "earliestDate": "2020-03-21", + "year": 2020, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221858, + "matchedDurationMs": 221820 + } + }, + { + "file": "Duck Sauce - Barbra Streisand (Radio Edit).mp3", + "title": "Barbra Streisand (Radio Edit)", + "artist": "Duck Sauce", + "mbid": "7c3ffc5e-bab2-46c6-b8f0-c25f446de4c5", + "earliestDate": "2011-02-11", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194038, + "matchedDurationMs": 194160 + } + }, + { + "file": "Duffy - Mercy.mp3", + "title": "Mercy", + "artist": "Duffy", + "mbid": "e528371a-0544-4328-a51e-8a2427671fcc", + "earliestDate": "2007", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219951, + "matchedDurationMs": 220453 + } + }, + { + "file": "Eagle-Eye Cherry - Save Tonight.mp3", + "title": "Save Tonight", + "artist": "Eagle-Eye Cherry", + "mbid": "d8a837d1-886d-44e4-aa72-d19e61180b3b", + "earliestDate": "1997-07-21", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 242782, + "matchedDurationMs": 236000 + } + }, + { + "file": "Echt - Du trägst keine Liebe in dir.mp3", + "title": "Du trägst keine Liebe in dir", + "artist": "Echt", + "mbid": "64908e9c-633f-4c63-b09b-abf99b255261", + "earliestDate": "1999-09-10", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 261982, + "matchedDurationMs": 263000 + } + }, + { + "file": "Eddy Grant - Gimme Hope Jo'Anna.mp3", + "title": "Gimme Hope Jo'Anna", + "artist": "Eddy Grant", + "mbid": "f897a847-60e3-4409-bbce-36feeb6d23c9", + "earliestDate": "1988-03-21", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 243722, + "matchedDurationMs": 240426 + } + }, + { + "file": "Elton John - Your Song.mp3", + "title": "Your Song", + "artist": "Elton John", + "mbid": "5c9dee4c-3291-49a2-8c3e-a0dd7f7e4ad5", + "earliestDate": "1971", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 241816, + "matchedDurationMs": null + } + }, + { + "file": "Elvis Presley - Can't Help Falling in Love.mp3", + "title": "Can't Help Falling in Love", + "artist": "Elvis Presley", + "mbid": "a84b9958-0c2a-4222-8759-c6615aa3fe55", + "earliestDate": "1969-10-14", + "year": 1969, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178521, + "matchedDurationMs": 130000 + } + }, + { + "file": "Elvis Presley - Jailhouse Rock.mp3", + "title": "Jailhouse Rock", + "artist": "Elvis Presley", + "mbid": "137b53e7-57e3-4a07-85e3-fcf733ae0a0d", + "earliestDate": "1957-01-01", + "year": 1957, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 146965, + "matchedDurationMs": 130000 + } + }, + { + "file": "Enrico Caruso - Rigoletto La Donna E' Mobile.mp3", + "title": "Rigoletto: \"La Donna E' Mobile\"", + "artist": "Enrico Caruso", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Enrique Iglesias - Could I Have This Kiss Forever.mp3", + "title": "Could I Have This Kiss Forever", + "artist": "Enrique Iglesias, Whitney Houston", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Enrique Iglesias - Do You Know (The Ping Pong Song).mp3", + "title": "Do You Know? (The Ping Pong Song)", + "artist": "Enrique Iglesias", + "mbid": "0892e221-c14b-4e5c-b425-f8d3cf673e53", + "earliestDate": "2007-06-11", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 218122, + "matchedDurationMs": 219560 + } + }, + { + "file": "Enya - Orinoco Flow.mp3", + "title": "Orinoco Flow", + "artist": "Enya", + "mbid": "4b5273c8-45f2-4bea-b73c-5128cd57faa8", + "earliestDate": "1988-09-19", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 266266, + "matchedDurationMs": 266933 + } + }, + { + "file": "Eric Carmen - Hungry Eyes (From Dirty Dancing Soundtrack).mp3", + "title": "Hungry Eyes (From \"Dirty Dancing\" Soundtrack)", + "artist": "Eric Carmen", + "mbid": "848ecccf-4fc4-4478-b70a-8e31286bfd84", + "earliestDate": "2005", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248477, + "matchedDurationMs": 246000 + } + }, + { + "file": "Eric Prydz - Call On Me (Radio Edit).mp3", + "title": "Call On Me (Radio Edit)", + "artist": "Eric Prydz", + "mbid": "f22021f6-5219-49fe-9270-2fac043b57d3", + "earliestDate": "2004", + "year": 2004, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 171389, + "matchedDurationMs": 167000 + } + }, + { + "file": "Erma Franklin - Piece of My Heart.mp3", + "title": "Piece of My Heart", + "artist": "Erma Franklin", + "mbid": "99b7e978-e259-4aa5-8f4b-00b043da4d54", + "earliestDate": "1967-10", + "year": 1967, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 157283, + "matchedDurationMs": 155000 + } + }, + { + "file": "Eros Ramazzotti - Più bella cosa.mp3", + "title": "Più bella cosa", + "artist": "Eros Ramazzotti", + "mbid": "289cc14d-a64d-472a-b865-937874233dfb", + "earliestDate": "1996-04-09", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264333, + "matchedDurationMs": 266000 + } + }, + { + "file": "Eurythmics - Sweet Dreams (Are Made of This).mp3", + "title": "Sweet Dreams (Are Made of This)", + "artist": "Eurythmics, Annie Lennox, Dave Stewart", + "mbid": "cf4c57df-da7f-4336-9c9f-090dfc98afeb", + "earliestDate": "2007-12-10", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 292598, + "matchedDurationMs": 211722 + } + }, + { + "file": "Falco - Rock Me Amadeus.mp3", + "title": "Rock Me Amadeus", + "artist": "Falco", + "mbid": "c202f18b-758e-4c9e-be38-71e7863f57d1", + "earliestDate": "1985-09-11", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 199837, + "matchedDurationMs": 202000 + } + }, + { + "file": "Fatboy Slim - Praise You.mp3", + "title": "Praise You", + "artist": "Fatboy Slim", + "mbid": "c9f0a90a-806c-4b60-bdca-1488eda61988", + "earliestDate": "1999", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 324284, + "matchedDurationMs": 314440 + } + }, + { + "file": "Fats Domino - Ain't That A Shame.mp3", + "title": "Ain't That A Shame", + "artist": "Fats Domino", + "mbid": "ffa16838-9137-42ec-964d-bf668d502593", + "earliestDate": "1988", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 152242, + "matchedDurationMs": 156000 + } + }, + { + "file": "Fettes Brot - Emanuela.mp3", + "title": "Emanuela", + "artist": "Fettes Brot", + "mbid": "5c626985-3396-42dd-a0b0-5a02f15945bf", + "earliestDate": "2005-03-21", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214883, + "matchedDurationMs": 214853 + } + }, + { + "file": "Fine Young Cannibals - She Drives Me Crazy.mp3", + "title": "She Drives Me Crazy", + "artist": "Fine Young Cannibals", + "mbid": "c47d9ac3-b2e3-4305-994d-03211998d650", + "earliestDate": "1989", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215824, + "matchedDurationMs": 216000 + } + }, + { + "file": "Fleetwood Mac - Everywhere (2017 Remaster).mp3", + "title": "Everywhere (2017 Remaster)", + "artist": "Fleetwood Mac", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Freddy Quinn - Die Gitarre und das Meer (Single Version).mp3", + "title": "Die Gitarre und das Meer (Single Version)", + "artist": "Freddy Quinn", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Freddy Quinn - Heimweh (Dort wo die Blumen blüh'n).mp3", + "title": "Heimweh (Dort wo die Blumen blüh'n)", + "artist": "Freddy Quinn", + "mbid": "2e4c3d92-9103-48ee-9399-43d83a61872f", + "earliestDate": "2006-10-26", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 0.875, + "artistSim": 1, + "durationMs": 212349, + "matchedDurationMs": 105000 + } + }, + { + "file": "Fugees - Killing Me Softly With His Song.mp3", + "title": "Killing Me Softly With His Song", + "artist": "Fugees", + "mbid": "aafec15b-93c0-4e0c-bb70-c10f2a49b6a8", + "earliestDate": "1999", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 298710, + "matchedDurationMs": 329026 + } + }, + { + "file": "Genesis - No Son Of Mine.mp3", + "title": "No Son Of Mine", + "artist": "Genesis", + "mbid": "b4d6e127-5406-42b1-933b-e01a5f7df105", + "earliestDate": "1992-03", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 395651, + "matchedDurationMs": 397240 + } + }, + { + "file": "George Harrison - Got My Mind Set On You (Remastered 2004).mp3", + "title": "Got My Mind Set On You (Remastered 2004)", + "artist": "George Harrison", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "George Michael - I Knew You Were Waiting (For Me).mp3", + "title": "I Knew You Were Waiting (For Me)", + "artist": "George Michael, Aretha Franklin", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Gipsy Kings - Volare (Nel Blu di Pinto di Blu).mp3", + "title": "Volare (Nel Blu di Pinto di Blu)", + "artist": "Gipsy Kings", + "mbid": "44ffa450-b4c4-47a8-8c8d-b41a86fc802c", + "earliestDate": "1989-11-21", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219716, + "matchedDurationMs": 219920 + } + }, + { + "file": "Gitte Hænning - Ich will 'nen Cowboy als Mann.mp3", + "title": "Ich will 'nen Cowboy als Mann", + "artist": "Gitte Hænning", + "mbid": "37e33915-b7e5-4310-bc53-94d17310b26c", + "earliestDate": "2003", + "year": 2003, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 161019, + "matchedDurationMs": 159000 + } + }, + { + "file": "Glenn Miller - In the Mood (2006 Remastered Version).mp3", + "title": "In the Mood (2006 Remastered Version)", + "artist": "Glenn Miller", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Gotye - Somebody That I Used To Know.mp3", + "title": "Somebody That I Used To Know", + "artist": "Gotye, Kimbra", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Guns N' Roses - Sweet Child O' Mine.mp3", + "title": "Sweet Child O' Mine", + "artist": "Guns N' Roses", + "mbid": "95443f12-458b-4977-a01b-c8065bda1dd0", + "earliestDate": "1988", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 356101, + "matchedDurationMs": 354734 + } + }, + { + "file": "Haddaway - What Is Love (7 Mix).mp3", + "title": "What Is Love (7\" Mix)", + "artist": "Haddaway", + "mbid": "2970d12e-5eb9-45c9-8eac-38ce11efc18f", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 97, + "titleSim": 1, + "artistSim": 1, + "durationMs": 270420, + "matchedDurationMs": 267000 + } + }, + { + "file": "Harry Belafonte - Day-O (The Banana Boat Song).mp3", + "title": "Day-O (The Banana Boat Song)", + "artist": "Harry Belafonte", + "mbid": "145db6c0-7134-4387-b474-22da59689523", + "earliestDate": "1968", + "year": 1968, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 184738, + "matchedDurationMs": null + } + }, + { + "file": "Harry Styles - Adore You.mp3", + "title": "Adore You", + "artist": "Harry Styles", + "mbid": "acc4e9ce-f9cb-4a7c-8f65-a77cc586c81a", + "earliestDate": "2019-12-06", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 207177, + "matchedDurationMs": 207000 + } + }, + { + "file": "Heintje - Mama.mp3", + "title": "Mama", + "artist": "Heintje", + "mbid": "397596d8-8b1e-43c5-b069-01f5a575309f", + "earliestDate": "1967", + "year": 1967, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 151745, + "matchedDurationMs": 152000 + } + }, + { + "file": "Helene Fischer - Atemlos durch die Nacht.mp3", + "title": "Atemlos durch die Nacht", + "artist": "Helene Fischer", + "mbid": "e98a18f4-1345-4e5c-a117-295cd080d50d", + "earliestDate": "2013-10-04", + "year": 2013, + "confidence": { + "mbScore": 88, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219768, + "matchedDurationMs": 219898 + } + }, + { + "file": "Herbert Grönemeyer - Männer.mp3", + "title": "Männer", + "artist": "Herbert Grönemeyer", + "mbid": "11ecc67c-a65e-428f-bf01-91ddc39c656f", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 238838, + "matchedDurationMs": 240333 + } + }, + { + "file": "House of Pain - Jump Around (LP Version).mp3", + "title": "Jump Around (LP Version)", + "artist": "House of Pain", + "mbid": "f3c80549-9f27-4a6e-a68b-545b0df0f25a", + "earliestDate": "2010", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214988, + "matchedDurationMs": 217666 + } + }, + { + "file": "Ich + Ich - Vom selben Stern (Radio Edit).mp3", + "title": "Vom selben Stern (Radio Edit)", + "artist": "Ich + Ich", + "mbid": "78e068ef-72d5-4520-b773-0753534dfa07", + "earliestDate": "2007-06-15", + "year": 2007, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 228415, + "matchedDurationMs": 227000 + } + }, + { + "file": "Icona Pop - I Love It (feat. Charli XCX).mp3", + "title": "I Love It (feat. Charli XCX)", + "artist": "Icona Pop, Charli xcx", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Imagine Dragons - Thunder.mp3", + "title": "Thunder", + "artist": "Imagine Dragons", + "mbid": "2199bf89-2583-4368-8f85-3b0bb8f994d4", + "earliestDate": "2017-04-27", + "year": 2017, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 188160, + "matchedDurationMs": 187145 + } + }, + { + "file": "James Brown - I Got You (I Feel Good).mp3", + "title": "I Got You (I Feel Good)", + "artist": "James Brown", + "mbid": "52242ab5-7d4e-4d42-a253-a97d42827993", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 168934, + "matchedDurationMs": 167000 + } + }, + { + "file": "Jason Derulo - Whatcha Say.mp3", + "title": "Whatcha Say", + "artist": "Jason Derulo", + "mbid": "b0e1e84f-7b16-47dc-8297-db85a239fb18", + "earliestDate": "2010-06-04", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221283, + "matchedDurationMs": 232000 + } + }, + { + "file": "JAY Z - Numb Encore.mp3", + "title": "Numb / Encore", + "artist": "JAY Z, Linkin Park", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Jennifer Lopez - If You Had My Love.mp3", + "title": "If You Had My Love", + "artist": "Jennifer Lopez", + "mbid": "4ac2f246-d285-4e2d-88a0-9dcc6c0e37b0", + "earliestDate": "1999-06-21", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 266031, + "matchedDurationMs": 266000 + } + }, + { + "file": "Jessie J - Price Tag.mp3", + "title": "Price Tag", + "artist": "Jessie J, B.o.B", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Jimmy Cliff - You Can Get It If You Really Want.mp3", + "title": "You Can Get It If You Really Want", + "artist": "Jimmy Cliff", + "mbid": "649d71d9-2d00-4f5d-87d3-7655eaf198f6", + "earliestDate": "1971", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 162377, + "matchedDurationMs": 168826 + } + }, + { + "file": "John Legend - All of Me.mp3", + "title": "All of Me", + "artist": "John Legend", + "mbid": "d5548b1d-63db-4aa7-b3d5-3f864f248eee", + "earliestDate": "2013-08-08", + "year": 2013, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 269610, + "matchedDurationMs": 270000 + } + }, + { + "file": "Johnny Cash - Ring of Fire.mp3", + "title": "Ring of Fire", + "artist": "Johnny Cash", + "mbid": "5611c424-d0db-4e30-bae2-2db6d72177f7", + "earliestDate": "1981-04-19", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 158433, + "matchedDurationMs": 170000 + } + }, + { + "file": "Joseìto Fernàndez - Guajira Guantanamera.mp3", + "title": "Guajira Guantanamera", + "artist": "Joseìto Fernàndez", + "mbid": "a36d08be-3933-4a79-ac02-8455a22046ad", + "earliestDate": "1940", + "year": 1940, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 176849, + "matchedDurationMs": 182000 + } + }, + { + "file": "Journey - Don't Stop Believin'.mp3", + "title": "Don't Stop Believin'", + "artist": "Journey", + "mbid": "2b445f3e-7e84-4503-aab9-6bad9e1c2bd2", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 248947, + "matchedDurationMs": 248000 + } + }, + { + "file": "Jürgen Drews - Ein Bett im Kornfeld.mp3", + "title": "Ein Bett im Kornfeld", + "artist": "Jürgen Drews", + "mbid": "881c0d7e-d8a6-447f-824f-3ed317479c2d", + "earliestDate": "1976-04", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 179801, + "matchedDurationMs": 211000 + } + }, + { + "file": "Jürgen Marcus - Eine neue Liebe ist wie ein neues Leben.mp3", + "title": "Eine neue Liebe ist wie ein neues Leben", + "artist": "Jürgen Marcus", + "mbid": "711e122b-a68d-4e8d-a4d5-c643de436216", + "earliestDate": "1972-05", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 229642, + "matchedDurationMs": 230000 + } + }, + { + "file": "Justin Bieber - Anyone.mp3", + "title": "Anyone", + "artist": "Justin Bieber", + "mbid": "51798a1e-190a-4229-b56a-f2cda0972fdd", + "earliestDate": "2021-01-01", + "year": 2021, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 190824, + "matchedDurationMs": 190779 + } + }, + { + "file": "Kanye West - Gold Digger.mp3", + "title": "Gold Digger", + "artist": "Kanye West, Jamie Foxx", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Kaoma - Lambada (Original Version 1989).mp3", + "title": "Lambada (Original Version 1989)", + "artist": "Kaoma", + "mbid": "281e0ae7-bf5e-4716-8623-9ccabdca7afa", + "earliestDate": null, + "year": null, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 207517, + "matchedDurationMs": 207466 + } + }, + { + "file": "Karat - Über sieben Brücken musst du gehn.mp3", + "title": "Über sieben Brücken musst du gehn", + "artist": "Karat", + "mbid": "9a2b3c81-4aa3-4f2f-adf3-f2a703ee7ba6", + "earliestDate": "1978", + "year": 1978, + "confidence": { + "mbScore": 100, + "titleSim": 0.6666666666666666, + "artistSim": 1, + "durationMs": 227997, + "matchedDurationMs": null + } + }, + { + "file": "Katy Perry - Firework.mp3", + "title": "Firework", + "artist": "Katy Perry", + "mbid": "9846e3f4-7bb9-49be-8e91-837a5ee5cefb", + "earliestDate": "2010-08-24", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 227918, + "matchedDurationMs": 227893 + } + }, + { + "file": "Kc & The Sunshine Band - Give It Up.mp3", + "title": "Give It Up", + "artist": "Kc & The Sunshine Band", + "mbid": "504a0aae-6b12-49bd-b269-40cb438d2542", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 244219, + "matchedDurationMs": 250000 + } + }, + { + "file": "Kelly Clarkson - Because of You.mp3", + "title": "Because of You", + "artist": "Kelly Clarkson", + "mbid": "cd52b2b1-28d4-4885-9f1d-b44b8caf07f7", + "earliestDate": "2003", + "year": 2003, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219533, + "matchedDurationMs": 220000 + } + }, + { + "file": "Kenny Rogers & Dolly Parton - All I Have To Do Is Dream.mp3", + "title": "All I Have To Do Is Dream", + "artist": "Kenny Rogers & Dolly Parton", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Kim Carnes - Bette Davis Eyes.mp3", + "title": "Bette Davis Eyes", + "artist": "Kim Carnes", + "mbid": "44140ecd-ca40-4d45-8c3e-c4df35ca0462", + "earliestDate": "1981-03", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 225672, + "matchedDurationMs": 224373 + } + }, + { + "file": "Klaus Lage - 1000 und 1 Nacht (Remastered 2008).mp3", + "title": "1000 und 1 Nacht (Remastered 2008)", + "artist": "Klaus Lage", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Kool & The Gang - Celebration.mp3", + "title": "Celebration", + "artist": "Kool & The Gang", + "mbid": "827f8d82-644d-4b8b-b00a-6a1b256271e4", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 298057, + "matchedDurationMs": 188893 + } + }, + { + "file": "Kraftwerk - Autobahn.mp3", + "title": "Autobahn", + "artist": "Kraftwerk", + "mbid": "0d25c932-671d-4850-a70e-d8046153fff6", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 866926, + "matchedDurationMs": 186000 + } + }, + { + "file": "Lady Gaga - Poker Face.mp3", + "title": "Poker Face", + "artist": "Lady Gaga", + "mbid": "47042d5b-3df8-4d01-8b7e-c94d9e18f36e", + "earliestDate": "2009-11-16", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 237244, + "matchedDurationMs": 237933 + } + }, + { + "file": "Lady Gaga - Shallow (Radio Edit).mp3", + "title": "Shallow (Radio Edit)", + "artist": "Lady Gaga, Bradley Cooper", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Las Ketchup - The Ketchup Song (Aserejé) (Spanglish Version).mp3", + "title": "The Ketchup Song (Aserejé) (Spanglish Version)", + "artist": "Las Ketchup", + "mbid": "3e209f11-97f6-409f-910a-7571156adc81", + "earliestDate": "2002-07-30", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 0.7142857142857143, + "artistSim": 1, + "durationMs": 216372, + "matchedDurationMs": 212000 + } + }, + { + "file": "Led Zeppelin - Whole Lotta Love.mp3", + "title": "Whole Lotta Love", + "artist": "Led Zeppelin", + "mbid": "941a8aa9-debb-4970-bc1b-df81f6ef7797", + "earliestDate": "1999", + "year": 1999, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 334602, + "matchedDurationMs": 654000 + } + }, + { + "file": "Lenny Kravitz - Fly Away.mp3", + "title": "Fly Away", + "artist": "Lenny Kravitz", + "mbid": "90f7b7f3-3815-4344-95ca-98b28b5591a5", + "earliestDate": "1998-04-29", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221362, + "matchedDurationMs": 221893 + } + }, + { + "file": "Leo Sayer - When I Need You.mp3", + "title": "When I Need You", + "artist": "Leo Sayer", + "mbid": "cd80566e-4829-4e4c-b708-d57a16be9efd", + "earliestDate": "1976", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 250070, + "matchedDurationMs": 238000 + } + }, + { + "file": "Lewis Capaldi - Someone You Loved.mp3", + "title": "Someone You Loved", + "artist": "Lewis Capaldi", + "mbid": "cc95aec7-4a2e-4b66-bf41-e60f3bff1378", + "earliestDate": "2018-11-08", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 182204, + "matchedDurationMs": 182173 + } + }, + { + "file": "Limahl - Never Ending Story.mp3", + "title": "Never Ending Story", + "artist": "Limahl", + "mbid": "a0dd53f9-a30d-463b-8ff6-27af6c8d2d2e", + "earliestDate": "1996-08-01", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 210051, + "matchedDurationMs": 212040 + } + }, + { + "file": "Linda Ronstadt - Blue Bayou.mp3", + "title": "Blue Bayou", + "artist": "Linda Ronstadt", + "mbid": "1cf41f14-2597-41d1-b113-a902b69d6f1b", + "earliestDate": "1977", + "year": 1977, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 239438, + "matchedDurationMs": 235000 + } + }, + { + "file": "Lionel Richie - Dancing On The Ceiling.mp3", + "title": "Dancing On The Ceiling", + "artist": "Lionel Richie", + "mbid": "a393ce94-3cbc-4723-97de-7a270bb7b606", + "earliestDate": "1985", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 270759, + "matchedDurationMs": 272693 + } + }, + { + "file": "Little Eva - The Locomotion.mp3", + "title": "The Locomotion", + "artist": "Little Eva", + "mbid": "77077947-1945-421a-bdb7-fd057a9ec546", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 139154, + "matchedDurationMs": 146000 + } + }, + { + "file": "Little Richard - Good Golly Miss Molly.mp3", + "title": "Good Golly Miss Molly", + "artist": "Little Richard", + "mbid": "85391381-e729-46a9-8c5e-a36cc1923a3d", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 127425, + "matchedDurationMs": 130000 + } + }, + { + "file": "Loreen - Euphoria.mp3", + "title": "Euphoria", + "artist": "Loreen", + "mbid": "ca9a12c2-1aea-4190-afa5-6effc22004d1", + "earliestDate": "2012-10-22", + "year": 2012, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 212689, + "matchedDurationMs": 213000 + } + }, + { + "file": "Lukas Graham - 7 Years.mp3", + "title": "7 Years", + "artist": "Lukas Graham", + "mbid": "87e36ab4-6914-44ab-b740-7abb37678040", + "earliestDate": "2015-06-16", + "year": 2015, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 237349, + "matchedDurationMs": 237300 + } + }, + { + "file": "Lynyrd Skynyrd - Sweet Home Alabama.mp3", + "title": "Sweet Home Alabama", + "artist": "Lynyrd Skynyrd", + "mbid": "8392991c-3929-4bf9-a8fb-461bb9aca76d", + "earliestDate": "1976-09", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 281182, + "matchedDurationMs": 409000 + } + }, + { + "file": "Mabel - Don't Call Me Up.mp3", + "title": "Don't Call Me Up", + "artist": "Mabel", + "mbid": "310c7a8c-aa77-4ade-b9ea-02dee4aec084", + "earliestDate": "2019-01-18", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178521, + "matchedDurationMs": 178480 + } + }, + { + "file": "Macklemore & Ryan Lewis - Can't Hold Us (feat. Ray Dalton).mp3", + "title": "Can't Hold Us (feat. Ray Dalton)", + "artist": "Macklemore & Ryan Lewis", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Mad'House - Like a Prayer.mp3", + "title": "Like a Prayer", + "artist": "Mad'House", + "mbid": "e2f73fc3-edf1-4f62-b141-194550376ea6", + "earliestDate": "2002-07-22", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264333, + "matchedDurationMs": 264120 + } + }, + { + "file": "Madonna - 4 Minutes (feat. Justin Timberlake and Timbaland).mp3", + "title": "4 Minutes (feat. Justin Timberlake and Timbaland)", + "artist": "Madonna", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Major Lazer - Lean On (feat. MØ & DJ Snake).mp3", + "title": "Lean On (feat. MØ & DJ Snake)", + "artist": "Major Lazer, MØ, DJ Snake", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Manfred Mann - Do Wah Diddy Diddy.mp3", + "title": "Do Wah Diddy Diddy", + "artist": "Manfred Mann", + "mbid": "a1b99918-faf7-42bc-b0e3-51054f58b386", + "earliestDate": "1976", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 144196, + "matchedDurationMs": null + } + }, + { + "file": "Manuela - Schuld war nur der Bossa Nova.mp3", + "title": "Schuld war nur der Bossa Nova", + "artist": "Manuela", + "mbid": "8621d084-848e-42b7-b909-238ce065f6c3", + "earliestDate": "1963", + "year": 1963, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 145084, + "matchedDurationMs": 145813 + } + }, + { + "file": "Mark Forster - Drei Uhr Nachts.mp3", + "title": "Drei Uhr Nachts", + "artist": "Mark Forster, LEA", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Mark Morrison - Return of the Mack.mp3", + "title": "Return of the Mack", + "artist": "Mark Morrison", + "mbid": "bd45a28c-ad2a-4d33-a631-2fdc5d4e2c5c", + "earliestDate": "1996", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 213133, + "matchedDurationMs": 100000 + } + }, + { + "file": "Mark Ronson - Valerie (feat. Amy Winehouse) (Version Revisited).mp3", + "title": "Valerie (feat. Amy Winehouse) (Version Revisited)", + "artist": "Mark Ronson, Amy Winehouse", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Markus - Ich will Spass.mp3", + "title": "Ich will Spass", + "artist": "Markus", + "mbid": "2e6c7eb5-853b-4376-aad1-d21b1793c7b2", + "earliestDate": "1982-05", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178129, + "matchedDurationMs": 197000 + } + }, + { + "file": "Maroon 5 - Moves Like Jagger (Studio Recording From The Voice Performance).mp3", + "title": "Moves Like Jagger (Studio Recording From The Voice Performance)", + "artist": "Maroon 5, Christina Aguilera", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Marvin Gaye - I Heard It Through The Grapevine.mp3", + "title": "I Heard It Through The Grapevine", + "artist": "Marvin Gaye", + "mbid": "d97b9286-07ce-436f-bb31-2d880b9476ee", + "earliestDate": "1988", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194821, + "matchedDurationMs": 234000 + } + }, + { + "file": "Matthias Reim - Verdammt Ich lieb' dich.mp3", + "title": "Verdammt Ich lieb' dich", + "artist": "Matthias Reim", + "mbid": "ab17d759-63e6-42a0-af22-f175e9c482a7", + "earliestDate": "1990-06-15", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219559, + "matchedDurationMs": 219000 + } + }, + { + "file": "Max Giesinger - 80 Millionen.mp3", + "title": "80 Millionen", + "artist": "Max Giesinger", + "mbid": "14ce7941-57b1-4ed4-a326-b241cf4a389b", + "earliestDate": "2016-02-19", + "year": 2016, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 217078, + "matchedDurationMs": 215000 + } + }, + { + "file": "Meat Loaf - Paradise By the Dashboard Light.mp3", + "title": "Paradise By the Dashboard Light", + "artist": "Meat Loaf", + "mbid": "bb1bffbd-122a-44f4-8f8d-2d847393fa78", + "earliestDate": "1984", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 508369, + "matchedDurationMs": 253000 + } + }, + { + "file": "Meghan Trainor - All About That Bass.mp3", + "title": "All About That Bass", + "artist": "Meghan Trainor", + "mbid": "759edfb8-0b3c-4d4b-9538-a4e20f21f1e3", + "earliestDate": "2014-02-16", + "year": 2014, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 188787, + "matchedDurationMs": 188163 + } + }, + { + "file": "Michael Holm - Tränen lügen nicht.mp3", + "title": "Tränen lügen nicht", + "artist": "Michael Holm", + "mbid": "9aba3c14-ba03-4cba-bd25-5e77853ae206", + "earliestDate": "1974", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 240274, + "matchedDurationMs": 238000 + } + }, + { + "file": "MIKA - Relax, Take It Easy.mp3", + "title": "Relax, Take It Easy", + "artist": "MIKA", + "mbid": "4ab862ea-e6da-4ced-8f9a-6f14ae8d9732", + "earliestDate": "2006-10-02", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 270028, + "matchedDurationMs": 223000 + } + }, + { + "file": "Mike + The Mechanics - The Living Years.mp3", + "title": "The Living Years", + "artist": "Mike + The Mechanics", + "mbid": "72b6d683-4b86-4f12-9a30-89141f465c01", + "earliestDate": "1988-10-28", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 322534, + "matchedDurationMs": 332000 + } + }, + { + "file": "Miley Cyrus - Wrecking Ball.mp3", + "title": "Wrecking Ball", + "artist": "Miley Cyrus", + "mbid": "8c8b2d45-6043-47c5-8c12-16fb8050817b", + "earliestDate": "2013-08-25", + "year": 2013, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 221388, + "matchedDurationMs": 222000 + } + }, + { + "file": "Modjo - Lady (Hear Me Tonight).mp3", + "title": "Lady (Hear Me Tonight)", + "artist": "Modjo", + "mbid": "72b9408f-52b2-4f4f-863c-96e8eea64dca", + "earliestDate": "2000-06-19", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 307200, + "matchedDurationMs": 305600 + } + }, + { + "file": "Mungo Jerry - In The Summertime.mp3", + "title": "In The Summertime", + "artist": "Mungo Jerry", + "mbid": "5f86a334-1c75-4a61-85d9-77a113519773", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 211592, + "matchedDurationMs": 205466 + } + }, + { + "file": "Nancy Sinatra - These Boots Are Made For Walkin'.mp3", + "title": "These Boots Are Made For Walkin'", + "artist": "Nancy Sinatra", + "mbid": "ccba168d-bcfe-4564-a9e1-8cacc3307545", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163161, + "matchedDurationMs": 162893 + } + }, + { + "file": "Natalie Imbruglia - Torn.mp3", + "title": "Torn", + "artist": "Natalie Imbruglia", + "mbid": "95b471ad-50cd-49d4-9f23-2735c7dc3fe5", + "earliestDate": "1997-10-24", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 244715, + "matchedDurationMs": 245000 + } + }, + { + "file": "Neil Diamond - Sweet Caroline.mp3", + "title": "Sweet Caroline", + "artist": "Neil Diamond", + "mbid": "78ea7ea5-a451-4efe-b1fe-840f0697a419", + "earliestDate": "1969", + "year": 1969, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 203024, + "matchedDurationMs": 170000 + } + }, + { + "file": "Nelly - Dilemma.mp3", + "title": "Dilemma", + "artist": "Nelly, Kelly Rowland", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Nena - 99 Luftballons.mp3", + "title": "99 Luftballons", + "artist": "Nena", + "mbid": "f4655387-c676-4b07-9a27-f560ba254170", + "earliestDate": "1983-01-14", + "year": 1983, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 231602, + "matchedDurationMs": 231946 + } + }, + { + "file": "New Radicals - You Get What You Give.mp3", + "title": "You Get What You Give", + "artist": "New Radicals", + "mbid": "8ea9f2d4-c255-4201-b3c1-815571da013a", + "earliestDate": "1998-10-20", + "year": 1998, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 300800, + "matchedDurationMs": 300000 + } + }, + { + "file": "Nickelback - How You Remind Me.mp3", + "title": "How You Remind Me", + "artist": "Nickelback", + "mbid": "5d789be8-fedf-4ddb-a429-0977731fb9ab", + "earliestDate": "2000", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 223869, + "matchedDurationMs": 223746 + } + }, + { + "file": "Nirvana - Smells Like Teen Spirit.mp3", + "title": "Smells Like Teen Spirit", + "artist": "Nirvana", + "mbid": "23e47fd5-b790-4577-9b70-8ad296e80c4f", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 301949, + "matchedDurationMs": 300826 + } + }, + { + "file": "No Doubt - Don't Speak.mp3", + "title": "Don't Speak", + "artist": "No Doubt", + "mbid": "75f82744-5d4d-417c-b276-37dc4c17a98d", + "earliestDate": "1995-10-10", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 262792, + "matchedDurationMs": 263000 + } + }, + { + "file": "Oasis - Wonderwall.mp3", + "title": "Wonderwall", + "artist": "Oasis", + "mbid": "bc395cc7-a3de-4fe5-987c-c1d44951007c", + "earliestDate": "1996", + "year": 1996, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 258952, + "matchedDurationMs": 258000 + } + }, + { + "file": "Olivia Rodrigo - drivers license.mp3", + "title": "drivers license", + "artist": "Olivia Rodrigo", + "mbid": "88af1d59-e809-48bb-8a89-745bd05f0ae0", + "earliestDate": "2021-01-08", + "year": 2021, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 242051, + "matchedDurationMs": 242013 + } + }, + { + "file": "OneRepublic - Counting Stars.mp3", + "title": "Counting Stars", + "artist": "OneRepublic", + "mbid": "d03a0d3b-a3c5-44f4-9af7-34c76ccaedb2", + "earliestDate": "2013-03-22", + "year": 2013, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 257306, + "matchedDurationMs": 257000 + } + }, + { + "file": "Outkast - Hey Ya! (Radio Mix Club Mix).mp3", + "title": "Hey Ya! (Radio Mix / Club Mix)", + "artist": "Outkast", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Owl City - Fireflies.mp3", + "title": "Fireflies", + "artist": "Owl City", + "mbid": "059a2012-0bcf-4ef3-b550-69448247d1da", + "earliestDate": "2009-01-01", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 228389, + "matchedDurationMs": 228000 + } + }, + { + "file": "O-Zone - Dragostea Din Tei.mp3", + "title": "Dragostea Din Tei", + "artist": "O-Zone", + "mbid": "51a44337-22fc-404a-a4c5-2f3e29fb2754", + "earliestDate": "2003-06-03", + "year": 2003, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215432, + "matchedDurationMs": 215000 + } + }, + { + "file": "P!nk - Just Give Me a Reason (feat. Nate Ruess).mp3", + "title": "Just Give Me a Reason (feat. Nate Ruess)", + "artist": "P!nk, Nate Ruess", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Patrick Hernandez - Born to Be Alive (The Original).mp3", + "title": "Born to Be Alive (The Original)", + "artist": "Patrick Hernandez", + "mbid": "0ce4e960-216e-431c-9362-ee2dbd6c2682", + "earliestDate": null, + "year": null, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 188160, + "matchedDurationMs": 188133 + } + }, + { + "file": "Paul Simon - You Can Call Me Al.mp3", + "title": "You Can Call Me Al", + "artist": "Paul Simon", + "mbid": "01e1696b-b3c7-4ffe-a42b-ec2c952f7429", + "earliestDate": "1986-08-29", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 276402, + "matchedDurationMs": 280226 + } + }, + { + "file": "Percy Sledge - When a Man Loves a Woman.mp3", + "title": "When a Man Loves a Woman", + "artist": "Percy Sledge", + "mbid": "30417b50-9c3f-4708-befb-98caaa417051", + "earliestDate": "1972", + "year": 1972, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 173714, + "matchedDurationMs": 168666 + } + }, + { + "file": "Peter Fox - Haus am See.mp3", + "title": "Haus am See", + "artist": "Peter Fox", + "mbid": "44b07fda-fc5c-4458-ac2d-217867d74b6f", + "earliestDate": "2008-09-26", + "year": 2008, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214570, + "matchedDurationMs": 216026 + } + }, + { + "file": "Peter Kraus - Sugar-Baby.mp3", + "title": "Sugar-Baby", + "artist": "Peter Kraus", + "mbid": "69d8fc52-87ae-46e6-a332-02c3f7a28f1c", + "earliestDate": "1958", + "year": 1958, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 150674, + "matchedDurationMs": 151693 + } + }, + { + "file": "Peter Schilling - Major Tom (...völlig losgelöst).mp3", + "title": "Major Tom (...völlig losgelöst)", + "artist": "Peter Schilling", + "mbid": "318e146e-60f9-4298-8d4a-78b2657f668f", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 299598, + "matchedDurationMs": 299973 + } + }, + { + "file": "Pharrell Williams - Happy (From Despicable Me 2).mp3", + "title": "Happy (From \"Despicable Me 2\")", + "artist": "Pharrell Williams", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Plastic Bertrand - Ca plane pour moi.mp3", + "title": "Ca plane pour moi", + "artist": "Plastic Bertrand", + "mbid": "e1299622-8676-405a-9d0a-4ae7f2528e2f", + "earliestDate": "1977", + "year": 1977, + "confidence": { + "mbScore": 100, + "titleSim": 0.6, + "artistSim": 1, + "durationMs": 182178, + "matchedDurationMs": 179026 + } + }, + { + "file": "Portugal. The Man - Feel It Still.mp3", + "title": "Feel It Still", + "artist": "Portugal. The Man", + "mbid": "6728f2b7-dec1-4098-8c91-362db1d0ff31", + "earliestDate": "2017-03-02", + "year": 2017, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 163291, + "matchedDurationMs": 162092 + } + }, + { + "file": "Post Malone - Circles.mp3", + "title": "Circles", + "artist": "Post Malone", + "mbid": "9d0a9e5c-a765-40ab-837e-99b0bb197f6c", + "earliestDate": "2019-08-30", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 214936, + "matchedDurationMs": 215080 + } + }, + { + "file": "Prince - Purple Rain.mp3", + "title": "Purple Rain", + "artist": "Prince", + "mbid": "255dd412-840f-4038-8dc1-60db9543ec9f", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 524696, + "matchedDurationMs": 109000 + } + }, + { + "file": "Pur - Abenteuerland.mp3", + "title": "Abenteuerland", + "artist": "Pur", + "mbid": "54e6351f-05d4-42cf-bb1c-e07cad78bc60", + "earliestDate": "1995", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 280895, + "matchedDurationMs": 281973 + } + }, + { + "file": "Queen - Under Pressure.mp3", + "title": "Under Pressure", + "artist": "Queen, David Bowie", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "R.E.M. - Everybody Hurts.mp3", + "title": "Everybody Hurts", + "artist": "R.E.M.", + "mbid": "03af00eb-4da6-4131-837e-5e57c288802a", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 320313, + "matchedDurationMs": 329000 + } + }, + { + "file": "Rammstein - Engel.mp3", + "title": "Engel", + "artist": "Rammstein", + "mbid": "b96f272b-3370-4a6b-ba53-1e905374a451", + "earliestDate": "1997-04-01", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264307, + "matchedDurationMs": 264600 + } + }, + { + "file": "Red Hot Chili Peppers - Under the Bridge.mp3", + "title": "Under the Bridge", + "artist": "Red Hot Chili Peppers", + "mbid": "2e9808d0-29e3-4f36-9ce6-5ed3914f3b2b", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 264333, + "matchedDurationMs": 266200 + } + }, + { + "file": "Rednex - Cotton Eye Joe.mp3", + "title": "Cotton Eye Joe", + "artist": "Rednex", + "mbid": "6d436fb9-4ec7-4141-9575-739b1e02a52f", + "earliestDate": "1994-07-21", + "year": 1994, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 194038, + "matchedDurationMs": 192000 + } + }, + { + "file": "Reel 2 Real - I Like To Move It (feat. The Mad Stuntman) (Erick More Album Mix).mp3", + "title": "I Like To Move It (feat. The Mad Stuntman) (Erick \"More\" Album Mix)", + "artist": "Reel 2 Real, The Mad Stuntman", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Reinhard Mey - Über den Wolken.mp3", + "title": "Über den Wolken", + "artist": "Reinhard Mey", + "mbid": "c3af23bd-ac48-4994-aa45-ff97529150bd", + "earliestDate": "1974", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 233169, + "matchedDurationMs": 229000 + } + }, + { + "file": "Richard Marx - Right Here Waiting.mp3", + "title": "Right Here Waiting", + "artist": "Richard Marx", + "mbid": "f74ddcbf-bcf6-42fd-8557-485b047cc276", + "earliestDate": "1989", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 262766, + "matchedDurationMs": 262826 + } + }, + { + "file": "Rick James - Super Freak.mp3", + "title": "Super Freak", + "artist": "Rick James", + "mbid": "bb507204-50d1-4a76-9037-1f8f62da7ac5", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 204460, + "matchedDurationMs": 206440 + } + }, + { + "file": "Rio Reiser - König Von Deutschland.mp3", + "title": "König Von Deutschland", + "artist": "Rio Reiser", + "mbid": "cf00a4dd-41ab-4097-8f8a-97f208968c87", + "earliestDate": "1986-11", + "year": 1986, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 208327, + "matchedDurationMs": 208000 + } + }, + { + "file": "Ritchie Valens - La Bamba.mp3", + "title": "La Bamba", + "artist": "Ritchie Valens", + "mbid": "821f5395-f90f-432f-a807-da8dbb45ceb6", + "earliestDate": "1963", + "year": 1963, + "confidence": { + "mbScore": 96, + "titleSim": 1, + "artistSim": 1, + "durationMs": 129254, + "matchedDurationMs": null + } + }, + { + "file": "Robbie Williams - Feel.mp3", + "title": "Feel", + "artist": "Robbie Williams", + "mbid": "6f99d9a8-8001-4166-974f-4580bbec8ad5", + "earliestDate": "2002-11-18", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 263915, + "matchedDurationMs": 263866 + } + }, + { + "file": "Robin Thicke - Blurred Lines.mp3", + "title": "Blurred Lines", + "artist": "Robin Thicke, T.I., Pharrell Williams", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Roxette - Joyride.mp3", + "title": "Joyride", + "artist": "Roxette", + "mbid": "82c72383-3863-4502-bf2a-cd1a53e2c489", + "earliestDate": "1991-03-27", + "year": 1991, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 263131, + "matchedDurationMs": 264573 + } + }, + { + "file": "Roy Orbison - Oh, Pretty Woman.mp3", + "title": "Oh, Pretty Woman", + "artist": "Roy Orbison", + "mbid": "6e765877-678d-488a-ad1e-ee8e315a92cb", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 95, + "titleSim": 1, + "artistSim": 1, + "durationMs": 178965, + "matchedDurationMs": 178160 + } + }, + { + "file": "Rudi Carrell - Wann wird's mal wieder richtig Sommer (Original Mix).mp3", + "title": "Wann wird's mal wieder richtig Sommer (Original Mix)", + "artist": "Rudi Carrell", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Rufus - Ain't Nobody.mp3", + "title": "Ain't Nobody", + "artist": "Rufus, Chaka Khan", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Rupert Holmes - Escape (The Pina Colada Song).mp3", + "title": "Escape (The Pina Colada Song)", + "artist": "Rupert Holmes", + "mbid": "71709e8c-fb6b-48c6-972a-851ecff0a60d", + "earliestDate": "1979", + "year": 1979, + "confidence": { + "mbScore": 100, + "titleSim": 0.5714285714285714, + "artistSim": 1, + "durationMs": 276454, + "matchedDurationMs": 277000 + } + }, + { + "file": "Sam Cooke - (What A) Wonderful World  (Mono).mp3", + "title": "(What A) Wonderful World  (Mono)", + "artist": "Sam Cooke", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Sam the Sham & The Pharaohs - Wooly Bully.mp3", + "title": "Wooly Bully", + "artist": "Sam the Sham & The Pharaohs", + "mbid": "441daaeb-c91a-40bc-86bd-7ff3baafcc4f", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 138893, + "matchedDurationMs": 139000 + } + }, + { + "file": "Scorpions - Wind of Change.mp3", + "title": "Wind of Change", + "artist": "Scorpions", + "mbid": "ab532d7e-1ff0-44cf-a229-301c3506aad6", + "earliestDate": "1991", + "year": 1991, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 308898, + "matchedDurationMs": 314000 + } + }, + { + "file": "SDP - Die Nacht von Freitag auf Montag.mp3", + "title": "Die Nacht von Freitag auf Montag", + "artist": "SDP, Sido", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Shaggy - It Wasn't Me.mp3", + "title": "It Wasn't Me", + "artist": "Shaggy, Ricardo Ducent", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Shakira - Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single).mp3", + "title": "Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single)", + "artist": "Shakira, Freshlyground", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Shawn Mendes - Señorita.mp3", + "title": "Señorita", + "artist": "Shawn Mendes, Camila Cabello", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Sia - Cheap Thrills.mp3", + "title": "Cheap Thrills", + "artist": "Sia", + "mbid": "8fcdf7b9-6a1c-40c5-aae0-a489dc8898ef", + "earliestDate": "2015-12-17", + "year": 2015, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 211696, + "matchedDurationMs": 211000 + } + }, + { + "file": "Silbermond - Das Beste.mp3", + "title": "Das Beste", + "artist": "Silbermond", + "mbid": "1fb661ee-5789-4ec3-a372-55417788a089", + "earliestDate": "2005-04-18", + "year": 2005, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 284578, + "matchedDurationMs": 359000 + } + }, + { + "file": "Simply Red - Holding Back the Years (2008 Remaster).mp3", + "title": "Holding Back the Years (2008 Remaster)", + "artist": "Simply Red", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Sinéad O'Connor - Nothing Compares 2 U.mp3", + "title": "Nothing Compares 2 U", + "artist": "Sinéad O'Connor", + "mbid": "cfa03e25-2700-490c-b087-9bc8feec5cb5", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 280085, + "matchedDurationMs": 286760 + } + }, + { + "file": "Sister Sledge - We Are Family (1995 Remaster).mp3", + "title": "We Are Family (1995 Remaster)", + "artist": "Sister Sledge", + "mbid": "94f14692-3dc9-458f-a9ae-4bac3acff1b4", + "earliestDate": "2018-10-12", + "year": 2018, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 216764, + "matchedDurationMs": 216733 + } + }, + { + "file": "Siw Malmkvist - Liebeskummer lohnt sich nicht.mp3", + "title": "Liebeskummer lohnt sich nicht", + "artist": "Siw Malmkvist", + "mbid": "596704c7-dfc3-42dc-ad0d-e72fc3ac72fb", + "earliestDate": "1966", + "year": 1966, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 148846, + "matchedDurationMs": null + } + }, + { + "file": "SNoW - Informer.mp3", + "title": "Informer", + "artist": "SNoW", + "mbid": "81d0e771-20f9-450e-9c54-83af3687f304", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 268957, + "matchedDurationMs": 268306 + } + }, + { + "file": "Sonny & Cher - I Got You Babe.mp3", + "title": "I Got You Babe", + "artist": "Sonny & Cher", + "mbid": "ba61515c-1829-449c-bdb5-fb0f6a13e327", + "earliestDate": "1965", + "year": 1965, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 190119, + "matchedDurationMs": 190800 + } + }, + { + "file": "Sophie Ellis-Bextor - Murder On The Dancefloor.mp3", + "title": "Murder On The Dancefloor", + "artist": "Sophie Ellis-Bextor", + "mbid": "19164602-a33e-4da7-8bdd-7ede0897c47c", + "earliestDate": "2001-12-03", + "year": 2001, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 230060, + "matchedDurationMs": 233000 + } + }, + { + "file": "Spice Girls - Stop.mp3", + "title": "Stop", + "artist": "Spice Girls", + "mbid": "efeb152f-6eb4-485e-a547-3dfc8dad5346", + "earliestDate": "1997-10-31", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 204826, + "matchedDurationMs": 204880 + } + }, + { + "file": "Spider Murphy Gang - Skandal im Sperrbezirk.mp3", + "title": "Skandal im Sperrbezirk", + "artist": "Spider Murphy Gang", + "mbid": "526ac780-1b4a-4525-bd59-586946e893de", + "earliestDate": "1981-09", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 219611, + "matchedDurationMs": 217000 + } + }, + { + "file": "Sportfreunde Stiller - Ein Kompliment.mp3", + "title": "Ein Kompliment", + "artist": "Sportfreunde Stiller", + "mbid": "4a7ef2eb-2829-4946-a6bb-672373f4fb0e", + "earliestDate": "2002-03-04", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 198426, + "matchedDurationMs": 198000 + } + }, + { + "file": "Steppenwolf - Born To Be Wild.mp3", + "title": "Born To Be Wild", + "artist": "Steppenwolf", + "mbid": "28795e75-878f-48af-aa18-5f27ae6361fd", + "earliestDate": "1970-04", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 209450, + "matchedDurationMs": 343000 + } + }, + { + "file": "Stevie Wonder - Part-Time Lover.mp3", + "title": "Part-Time Lover", + "artist": "Stevie Wonder", + "mbid": "db0a4b68-5dc2-44b6-95c9-752b5ec69e66", + "earliestDate": "1985-05-07", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 252604, + "matchedDurationMs": 249000 + } + }, + { + "file": "Sylvester - You Make Me Feel (Mighty Real).mp3", + "title": "You Make Me Feel (Mighty Real)", + "artist": "Sylvester", + "mbid": "7134eba5-f912-426c-a44d-7c19d9d4706c", + "earliestDate": "1979", + "year": 1979, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 400144, + "matchedDurationMs": null + } + }, + { + "file": "Taio Cruz - Hangover.mp3", + "title": "Hangover", + "artist": "Taio Cruz, Flo Rida", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "The Bangles - Manic Monday.mp3", + "title": "Manic Monday", + "artist": "The Bangles", + "mbid": "2d2338fc-7ace-47fe-a36f-02c8db809a52", + "earliestDate": "1985", + "year": 1985, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 185339, + "matchedDurationMs": 183000 + } + }, + { + "file": "The Beach Boys - Good Vibrations.mp3", + "title": "Good Vibrations", + "artist": "The Beach Boys", + "mbid": "e9eb684a-5c5a-485e-ac76-ce799aeba7a0", + "earliestDate": "1974", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 217025, + "matchedDurationMs": 217000 + } + }, + { + "file": "The Beach Boys - Surfin' U.S.A. (Mono).mp3", + "title": "Surfin' U.S.A. (Mono)", + "artist": "The Beach Boys", + "mbid": "fa52f01e-6c8c-46ff-860d-daa4930f93a4", + "earliestDate": "2008-06-10", + "year": 2008, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 150570, + "matchedDurationMs": 148666 + } + }, + { + "file": "The Beatles - Get Back (Remastered 2009).mp3", + "title": "Get Back (Remastered 2009)", + "artist": "The Beatles", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "The Chordettes - Lollipop.mp3", + "title": "Lollipop", + "artist": "The Chordettes", + "mbid": "ed626d61-415e-4a4c-bcc0-89805243ab8b", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 131056, + "matchedDurationMs": 130000 + } + }, + { + "file": "The Commodores - Easy.mp3", + "title": "Easy", + "artist": "The Commodores", + "mbid": "0b0e1974-584b-44c3-90f1-ed43ac8b920d", + "earliestDate": "2002", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 256731, + "matchedDurationMs": 257000 + } + }, + { + "file": "The Cranberries - Zombie.mp3", + "title": "Zombie", + "artist": "The Cranberries", + "mbid": "5f843af3-5d20-433c-9cf7-4413c92073bc", + "earliestDate": "1994-09", + "year": 1994, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 307644, + "matchedDurationMs": 315000 + } + }, + { + "file": "The Cure - Friday I'm In Love.mp3", + "title": "Friday I'm In Love", + "artist": "The Cure", + "mbid": "bde8feda-2711-42ab-b6b0-9f9ad8c8e66c", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 215197, + "matchedDurationMs": 207133 + } + }, + { + "file": "The Four Seasons - December, 1963 (Oh What a Night!).mp3", + "title": "December, 1963 (Oh What a Night!)", + "artist": "The Four Seasons", + "mbid": "f22db82f-6c55-45cf-966c-ad64662bba5b", + "earliestDate": "1975-11", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 201143, + "matchedDurationMs": 212000 + } + }, + { + "file": "The Hollies - He Ain't Heavy He's My Brother.mp3", + "title": "He Ain't Heavy He's My Brother", + "artist": "The Hollies", + "mbid": "da9e8196-4677-4b5f-8285-ee5e8699459a", + "earliestDate": "1969-09-01", + "year": 1969, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 258847, + "matchedDurationMs": 257426 + } + }, + { + "file": "The Human League - Don't You Want Me.mp3", + "title": "Don't You Want Me", + "artist": "The Human League", + "mbid": "a1280d2b-d7f2-44fd-ae6c-dec441749bb8", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 236957, + "matchedDurationMs": 236000 + } + }, + { + "file": "The Kinks - Lola.mp3", + "title": "Lola", + "artist": "The Kinks", + "mbid": "8f86baef-a44a-4033-8c6b-3e4fb06e7e14", + "earliestDate": "1970-06-12", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 243357, + "matchedDurationMs": 230000 + } + }, + { + "file": "The Monkees - I'm a Believer.mp3", + "title": "I'm a Believer", + "artist": "The Monkees", + "mbid": "1bb8b072-d300-4940-be9c-28800f15a29a", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 165642, + "matchedDurationMs": 164000 + } + }, + { + "file": "The Police - Every Breath You Take (Remastered 2003).mp3", + "title": "Every Breath You Take (Remastered 2003)", + "artist": "The Police", + "mbid": "e60981c2-c79a-4687-ac26-7ad730fe34e6", + "earliestDate": "2023-08-11", + "year": 2023, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 254250, + "matchedDurationMs": 253960 + } + }, + { + "file": "The Rolling Stones - (I Can't Get No) Satisfaction (Mono).mp3", + "title": "(I Can't Get No) Satisfaction (Mono)", + "artist": "The Rolling Stones", + "mbid": "c02ff73a-59d3-409c-aa6a-288ad431f3d2", + "earliestDate": "2022", + "year": 2022, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 223007, + "matchedDurationMs": 223440 + } + }, + { + "file": "The Rolling Stones - Start Me Up (Remastered 2009).mp3", + "title": "Start Me Up (Remastered 2009)", + "artist": "The Rolling Stones", + "mbid": "a832bd7d-2f5a-48f3-960c-161903ddf126", + "earliestDate": "2023", + "year": 2023, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 213107, + "matchedDurationMs": 213000 + } + }, + { + "file": "The Supremes - You Can't Hurry Love.mp3", + "title": "You Can't Hurry Love", + "artist": "The Supremes", + "mbid": "aeb60866-b57e-4ab1-bf3b-c6b2334d4755", + "earliestDate": "1995", + "year": 1995, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 165460, + "matchedDurationMs": 170000 + } + }, + { + "file": "The Trammps - Disco Inferno.mp3", + "title": "Disco Inferno", + "artist": "The Trammps", + "mbid": "fe1bbf77-90a5-4d5d-9a7e-b002966510c8", + "earliestDate": "1976-12-29", + "year": 1976, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 659043, + "matchedDurationMs": 650866 + } + }, + { + "file": "The Verve - Bitter Sweet Symphony (Remastered 2016).mp3", + "title": "Bitter Sweet Symphony (Remastered 2016)", + "artist": "The Verve", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "The Weeknd - Blinding Lights.mp3", + "title": "Blinding Lights", + "artist": "The Weeknd", + "mbid": "1a67e215-a19e-40c9-9b12-732de134bf5f", + "earliestDate": "2019-11-29", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 200072, + "matchedDurationMs": 200046 + } + }, + { + "file": "Thelma Houston - Don't Leave Me This Way.mp3", + "title": "Don't Leave Me This Way", + "artist": "Thelma Houston", + "mbid": "041c3add-3ba9-408c-a47f-20cc425f7ea7", + "earliestDate": "1984-09-15", + "year": 1984, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 342387, + "matchedDurationMs": 218680 + } + }, + { + "file": "Tic Tac Toe - Warum.mp3", + "title": "Warum?", + "artist": "Tic Tac Toe", + "mbid": "09d8a8c6-1519-4cb1-b296-23215d2c4715", + "earliestDate": "1997-02-24", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 202945, + "matchedDurationMs": 202000 + } + }, + { + "file": "Tim Bendzko - Nur noch kurz die Welt retten.mp3", + "title": "Nur noch kurz die Welt retten", + "artist": "Tim Bendzko", + "mbid": "54615b3a-ebde-4855-83cc-d7b558c526e6", + "earliestDate": "2011-05-30", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 192340, + "matchedDurationMs": 191817 + } + }, + { + "file": "Tina Turner - The Best.mp3", + "title": "The Best", + "artist": "Tina Turner", + "mbid": "c8ac6945-bd95-4ddc-b7f7-bc2237db0ef7", + "earliestDate": "1989-09-12", + "year": 1989, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 333296, + "matchedDurationMs": 329786 + } + }, + { + "file": "Tokio Hotel - Durch den Monsun (Radio Mix).mp3", + "title": "Durch den Monsun (Radio Mix)", + "artist": "Tokio Hotel", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Tom Jones - She's A Lady.mp3", + "title": "She's A Lady", + "artist": "Tom Jones", + "mbid": "2fb5f013-77dd-4532-9f5c-10bcac7173c2", + "earliestDate": "1971", + "year": 1971, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 174184, + "matchedDurationMs": 135000 + } + }, + { + "file": "Tones and I - Dance Monkey.mp3", + "title": "Dance Monkey", + "artist": "Tones and I", + "mbid": "c0f89d6a-d740-4f91-b6e1-d5e8572268c1", + "earliestDate": "2019-05-10", + "year": 2019, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 209476, + "matchedDurationMs": 209438 + } + }, + { + "file": "Toploader - Dancing in the Moonlight.mp3", + "title": "Dancing in the Moonlight", + "artist": "Toploader", + "mbid": "e392d283-545e-4522-9093-2f81cb573555", + "earliestDate": "2000", + "year": 2000, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 233404, + "matchedDurationMs": 232000 + } + }, + { + "file": "Torfrock - Beinhart (Single Version).mp3", + "title": "Beinhart (Single Version)", + "artist": "Torfrock", + "mbid": "38a0743b-b925-4729-9237-1a03d721e5f7", + "earliestDate": "2006-06-25", + "year": 2006, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 198087, + "matchedDurationMs": 197967 + } + }, + { + "file": "Toto - Africa.mp3", + "title": "Africa", + "artist": "Toto", + "mbid": "4d89c734-db46-4418-86c0-3f00814412bd", + "earliestDate": "1982", + "year": 1982, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 295941, + "matchedDurationMs": 244066 + } + }, + { + "file": "T'pau - China In Your Hand (Single Version).mp3", + "title": "China In Your Hand (Single Version)", + "artist": "T'pau", + "mbid": "56a5d0fc-a0c3-4e07-91b5-0c8c77b43ab2", + "earliestDate": "2009-06-08", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 247171, + "matchedDurationMs": 223880 + } + }, + { + "file": "Tracy Chapman - Fast Car.mp3", + "title": "Fast Car", + "artist": "Tracy Chapman", + "mbid": "883821fc-9bbc-4e04-be79-b4b12c4c4a4e", + "earliestDate": "1988-04-05", + "year": 1988, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 296829, + "matchedDurationMs": 296840 + } + }, + { + "file": "Train - Hey, Soul Sister.mp3", + "title": "Hey, Soul Sister", + "artist": "Train", + "mbid": "f939409f-c292-4a8f-ad18-3d8d4cc07376", + "earliestDate": "2009-10-26", + "year": 2009, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 216816, + "matchedDurationMs": 216699 + } + }, + { + "file": "Trude Herr - Ich will keine Schokolade.mp3", + "title": "Ich will keine Schokolade", + "artist": "Trude Herr", + "mbid": "31cf1929-bd55-46bc-b33d-3e323e1c4a3c", + "earliestDate": "1960", + "year": 1960, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 147069, + "matchedDurationMs": 145760 + } + }, + { + "file": "U96 - Das Boot.mp3", + "title": "Das Boot", + "artist": "U96", + "mbid": "640e5c64-e006-4026-bea4-ca5b7ee8ec28", + "earliestDate": "1992", + "year": 1992, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 314044, + "matchedDurationMs": 314000 + } + }, + { + "file": "Udo Jürgens - Siebzehn Jahr, blondes Haar.mp3", + "title": "Siebzehn Jahr, blondes Haar", + "artist": "Udo Jürgens", + "mbid": "133f4646-b4bb-4e98-9573-2945997301f5", + "earliestDate": "1965", + "year": 1965, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 152111, + "matchedDurationMs": 142000 + } + }, + { + "file": "Unheilig - Geboren um zu leben.mp3", + "title": "Geboren um zu leben", + "artist": "Unheilig", + "mbid": "a88a1877-700b-4290-b796-0ae5b6a896ae", + "earliestDate": "2010-01-29", + "year": 2010, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 230504, + "matchedDurationMs": 230000 + } + }, + { + "file": "Van McCoy & The Soul City Symphony - The Hustle.mp3", + "title": "The Hustle", + "artist": "Van McCoy & The Soul City Symphony", + "mbid": "cc1c08ef-ba53-4e58-a2be-865cdfc30b1a", + "earliestDate": "1975", + "year": 1975, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 242887, + "matchedDurationMs": 249200 + } + }, + { + "file": "Vanilla Ice - Ice Ice Baby.mp3", + "title": "Ice Ice Baby", + "artist": "Vanilla Ice", + "mbid": "1cd7d430-7daf-4758-bad1-1c34f71d42ca", + "earliestDate": "1990", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 271517, + "matchedDurationMs": 226666 + } + }, + { + "file": "Vaya Con Dios - Nah Neh Nah.mp3", + "title": "Nah Neh Nah", + "artist": "Vaya Con Dios", + "mbid": "ac8f200b-0efd-478f-abe4-7dc0266e73e9", + "earliestDate": "1990-10-31", + "year": 1990, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 173949, + "matchedDurationMs": 175000 + } + }, + { + "file": "Wencke Myhre - Er hat ein knallrotes Gummiboot.mp3", + "title": "Er hat ein knallrotes Gummiboot", + "artist": "Wencke Myhre", + "mbid": "e62b5ab5-0131-4db5-82d5-2b14a074276d", + "earliestDate": "1970", + "year": 1970, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 195918, + "matchedDurationMs": 197000 + } + }, + { + "file": "Wet Wet Wet - Love Is All Around (From Four Weddings And A Funeral).mp3", + "title": "Love Is All Around (From \"Four Weddings And A Funeral\")", + "artist": "Wet Wet Wet", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Whitney Houston - I Wanna Dance with Somebody (Who Loves Me).mp3", + "title": "I Wanna Dance with Somebody (Who Loves Me)", + "artist": "Whitney Houston", + "mbid": "3b100fc8-dcd9-4feb-b6e1-6fae5574f023", + "earliestDate": "1987", + "year": 1987, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 289489, + "matchedDurationMs": 284000 + } + }, + { + "file": "Will Smith - Gettin' Jiggy Wit It.mp3", + "title": "Gettin' Jiggy Wit It", + "artist": "Will Smith", + "mbid": "979013be-6050-48d3-81cf-8fbe4130b9af", + "earliestDate": "1997-11-24", + "year": 1997, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 227971, + "matchedDurationMs": 228013 + } + }, + { + "file": "Wincent Weiss - Die guten Zeiten.mp3", + "title": "Die guten Zeiten", + "artist": "Wincent Weiss, Johannes Oerding", + "mbid": null, + "earliestDate": null, + "year": null, + "error": "No recordings found" + }, + { + "file": "Wolfgang Petry - Wahnsinn.mp3", + "title": "Wahnsinn", + "artist": "Wolfgang Petry", + "mbid": "2e9d400a-d316-4f23-8cb0-0fe0aec42267", + "earliestDate": "1983", + "year": 1983, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 224418, + "matchedDurationMs": 210000 + } + }, + { + "file": "Yazoo - Don't Go.mp3", + "title": "Don't Go", + "artist": "Yazoo", + "mbid": "2a6ab198-23f1-4653-9a5f-43dd2cb56d21", + "earliestDate": "1981", + "year": 1981, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 176065, + "matchedDurationMs": 175000 + } + }, + { + "file": "50 Cent - In Da Club.mp3", + "title": "In Da Club", + "artist": "50 Cent", + "mbid": "e094af7b-77bc-4581-a9c6-a207b0cd5fe3", + "earliestDate": "2002", + "year": 2002, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 193515, + "matchedDurationMs": 225626 + } + }, + { + "file": "ABBA - Waterloo.mp3", + "title": "Waterloo", + "artist": "ABBA", + "mbid": "bfdcfb41-167c-4f5b-b163-bde83bbf69ac", + "earliestDate": "1974-03-04", + "year": 1974, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 165851, + "matchedDurationMs": 166000 + } + }, + { + "file": "Ace of Base - All That She Wants.mp3", + "title": "All That She Wants", + "artist": "Ace of Base", + "mbid": "8c429ef6-3338-44b3-8d77-2fb486cd10ab", + "earliestDate": "1993", + "year": 1993, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 211252, + "matchedDurationMs": 299066 + } + }, + { + "file": "Adele - Set Fire to the Rain.mp3", + "title": "Set Fire to the Rain", + "artist": "Adele", + "mbid": "d1e0a99e-1894-457b-ba6a-985eeef4d0c4", + "earliestDate": "2011-01-19", + "year": 2011, + "confidence": { + "mbScore": 100, + "titleSim": 1, + "artistSim": 1, + "durationMs": 243017, + "matchedDurationMs": 241693 + } + } + ] +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..ecb1fb9 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "hitstar-webapp", + "version": "0.1.0", + "private": true, + "description": "Local Hitster-like multiplayer web app using WebSockets and local MP3s", + "main": "server.js", + "type": "module", + "scripts": { + "start": "node server.js", + "dev": "nodemon server.js", + "years:resolve": "node scripts/resolve-years.js", + "years:resolve:10": "node scripts/resolve-years.js --max 10", + "years:force": "node scripts/resolve-years.js --force" + }, + "dependencies": { + "express": "^4.19.2", + "mime": "^3.0.0", + "music-metadata": "^7.14.0", + "undici": "^6.19.8", + "uuid": "^9.0.1", + "ws": "^8.18.0" + }, + "devDependencies": { + "nodemon": "^3.1.0" + } +} diff --git a/public/client.js b/public/client.js new file mode 100644 index 0000000..f65418c --- /dev/null +++ b/public/client.js @@ -0,0 +1,428 @@ +let ws; +let reconnectAttempts = 0; +let reconnectTimer = null; +const outbox = []; +function wsIsOpen() { return ws && ws.readyState === WebSocket.OPEN; } +function sendMsg(obj) { + if (wsIsOpen()) ws.send(JSON.stringify(obj)); + else outbox.push(obj); +} +function scheduleReconnect() { + if (reconnectTimer) return; + const delay = Math.min(30000, 1000 * Math.pow(2, reconnectAttempts)); + reconnectAttempts++; + reconnectTimer = setTimeout(() => { + reconnectTimer = null; + connectWS(); + }, delay); +} +function connectWS() { + const url = (location.protocol === 'https:' ? 'wss://' : 'ws://') + location.host; + ws = new WebSocket(url); + ws.addEventListener('open', () => { + reconnectAttempts = 0; + // Flush queued messages + setTimeout(() => { + while (outbox.length && wsIsOpen()) { + try { ws.send(JSON.stringify(outbox.shift())); } catch { break; } + } + }, 100); + }); + ws.addEventListener('message', (ev) => handleMessage(ev)); + ws.addEventListener('close', () => { scheduleReconnect(); }); + ws.addEventListener('error', () => { try { ws.close(); } catch {} }); +} + +let state = { + playerId: null, + room: null, + lastTrack: null, + revealed: false, + pendingReady: null, + isBuffering: false, +}; + +// Elements +const el = (id) => document.getElementById(id); +const $lobby = el('lobby'); +const $room = el('room'); +const $players = el('players'); +const $roomId = el('roomId'); +const $status = el('status'); +const $guesser = el('guesser'); +const $timeline = el('timeline'); +const $tokens = el('tokens'); +const $audio = el('audio'); +if ($audio) { try { $audio.preload = 'none'; } catch {} } +const $np = document.getElementById('nowPlaying'); +const $npTitle = el('npTitle'); +const $npArtist = el('npArtist'); +const $npYear = el('npYear'); +const $readyChk = document.getElementById('readyChk'); +const $startGame = document.getElementById('startGame'); +const $revealBanner = document.getElementById('revealBanner'); +const $placeArea = document.getElementById('placeArea'); +const $slotSelect = document.getElementById('slotSelect'); +const $placeBtn = document.getElementById('placeBtn'); +const $mediaControls = document.getElementById('mediaControls'); +const $playBtn = document.getElementById('playBtn'); +const $pauseBtn = document.getElementById('pauseBtn'); +const $nextArea = document.getElementById('nextArea'); +const $nextBtn = document.getElementById('nextBtn'); +// Custom player UI +const $recordDisc = document.getElementById('recordDisc'); +const $progressFill = document.getElementById('progressFill'); +const $volumeSlider = document.getElementById('volumeSlider'); +const $bufferBadge = document.getElementById('bufferBadge'); +// Copy Room Code button +const $copyRoomCode = document.getElementById('copyRoomCode'); +// Name (lobby input + room display) +const $nameLobby = document.getElementById('name'); +const $setNameLobby = document.getElementById('setName'); +const $nameDisplay = document.getElementById('nameDisplay'); + +function showLobby() { $lobby.classList.remove('hidden'); $room.classList.add('hidden'); } +function showRoom() { $lobby.classList.add('hidden'); $room.classList.remove('hidden'); } + +function renderRoom(room) { + state.room = room; + if (!room) { showLobby(); return; } + showRoom(); + $roomId.textContent = room.id; + // Ensure copy button is visible and set up + if ($copyRoomCode) { + $copyRoomCode.style.display = 'inline-block'; + $copyRoomCode.onclick = function() { + if (room.id) { + navigator.clipboard.writeText(room.id).then(() => { + $copyRoomCode.textContent = '✔️'; + showToast('Code kopiert!'); + setTimeout(()=>{$copyRoomCode.textContent = '📋';}, 1200); + }); + } + }; + } + // Also allow clicking the room code itself to copy + if ($roomId) { + $roomId.onclick = function() { + if (room.id) { + navigator.clipboard.writeText(room.id).then(() => { + $roomId.title = 'Kopiert!'; + showToast('Code kopiert!'); + setTimeout(()=>{$roomId.title = 'Klicken zum Kopieren';}, 1200); + }); + } + }; + $roomId.style.cursor = 'pointer'; + } +const $toast = document.getElementById('toast'); +function showToast(msg) { + if (!$toast) return; + $toast.textContent = msg; + $toast.style.opacity = '1'; + setTimeout(() => { + $toast.style.opacity = '0'; + }, 1200); +} + $status.textContent = room.state.status; + $guesser.textContent = shortName(room.state.currentGuesser); + // Show my current name (from server if available) or fallback to stored value + const me = room.players.find(p=>p.id===state.playerId); + if ($nameDisplay) $nameDisplay.textContent = (me?.name || localStorage.getItem('playerName') || '-'); + $players.innerHTML = room.players.map(p => { + const badges = [ + p.id===room.hostId ? '' : '', + p.ready ? '' : '', + !p.connected ? '(off)' : '', + ].join(''); + return `${escapeHtml(p.name)}${badges}`; + }).join(' '); + const myTl = room.state.timeline?.[state.playerId] || []; + $timeline.innerHTML = myTl.map(t => { + const title = escapeHtml(t.title || t.trackId || 'Unbekannt'); + const artist = t.artist ? escapeHtml(t.artist) : ''; + const year = (t.year ?? '?'); + return ` +
+
${year}
+
+
${title}
+
${artist}
+
+
+ `; + }).join(''); + $tokens.textContent = room.state.tokens?.[state.playerId] ?? 0; + // Ready control visibility + if ($readyChk) { + const serverReady = !!me?.ready; + // If user recently toggled, keep local visual state until server matches + if (state.pendingReady === null || state.pendingReady === undefined) { + $readyChk.checked = serverReady; + } else { + $readyChk.checked = !!state.pendingReady; + // Clear pending once it matches server + if (serverReady === state.pendingReady) state.pendingReady = null; + } + $readyChk.parentElement.classList.toggle('hidden', room.state.status !== 'lobby'); + } + // Host start button when all ready + const isHost = state.playerId === room.hostId; + const allReady = room.players.length>0 && room.players.every(p=>p.ready); + if ($startGame) $startGame.classList.toggle('hidden', !(isHost && room.state.status==='lobby' && allReady)); + // Show guess buttons only when it's my turn and a track is active + const isMyTurn = room.state.status==='playing' && room.state.phase==='guess' && room.state.currentGuesser===state.playerId && room.state.currentTrack; + const canGuess = isMyTurn; + // Build slot options: 0..n + if ($placeArea && $slotSelect) { + if (canGuess) { + const tl = room.state.timeline?.[state.playerId] || []; + $slotSelect.innerHTML = ''; + for (let i = 0; i <= tl.length; i++) { + const left = i>0 ? (tl[i-1]?.year ?? '?') : null; + const right = ix.id===id); + return p ? p.name : id.slice(0,4); +} + +function escapeHtml(s) { return String(s).replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); } + +function handleMessage(ev) { + const msg = JSON.parse(ev.data); + if (msg.type === 'connected') { + state.playerId = msg.playerId; + // Try to auto-apply stored name + const stored = localStorage.getItem('playerName'); + if (stored) { + if ($nameLobby && $nameLobby.value !== stored) { + $nameLobby.value = stored; + } + if ($nameDisplay) { + $nameDisplay.textContent = stored; + } + sendMsg({ type: 'set_name', name: stored }); + } + // Try to rejoin room if known + if (state.room?.id) sendMsg({ type: 'join_room', code: state.room.id }); + } + if (msg.type === 'room_update') { + renderRoom(msg.room); + } + if (msg.type === 'play_track') { + const t = msg.track; + state.lastTrack = t; + state.revealed = false; + // Hide metadata until a guess is placed + $npTitle.textContent = '???'; + $npArtist.textContent = ''; + $npYear.textContent = ''; + try { $audio.preload = 'auto'; } catch {} + $audio.src = t.url; + // Reset custom UI + if ($progressFill) $progressFill.style.width = '0%'; + if ($recordDisc) $recordDisc.classList.remove('spin-record'); + // Sync start using server-provided timestamp + const { startAt, serverNow } = msg; + if (startAt && serverNow) { + const now = Date.now(); + const offsetMs = startAt - serverNow; // server delay until start + const localStart = now + offsetMs; + const delay = Math.max(0, localStart - now); + setTimeout(() => { + $audio.currentTime = 0; + $audio.play().catch(()=>{}); + if ($recordDisc) $recordDisc.classList.add('spin-record'); + }, delay); + } else { + $audio.play().catch(()=>{}); + if ($recordDisc) $recordDisc.classList.add('spin-record'); + } + if (state.room) renderRoom(state.room); + } + if (msg.type === 'sync') { + const { startAt, serverNow } = msg; + if (!state.room?.state?.currentTrack || !startAt || !serverNow) return; + if (state.room?.state?.paused) return; // don't auto-resume while paused + if (state.isBuffering) return; // avoid corrections while buffering + const now = Date.now(); + const elapsed = (now - startAt) / 1000; // seconds + const drift = ($audio.currentTime || 0) - elapsed; + // Soft sync via playbackRate adjustments; hard seek if way off + const abs = Math.abs(drift); + if (abs > 1.0) { + // Hard correct when over 1s + $audio.currentTime = Math.max(0, elapsed); + if ($audio.paused) $audio.play().catch(()=>{}); + $audio.playbackRate = 1.0; + } else if (abs > 0.12) { + // Gently nudge speed up to +/-3% + const maxNudge = 0.03; + const sign = drift > 0 ? -1 : 1; // if ahead (positive drift), slow down + const rate = 1 + sign * Math.min(maxNudge, abs * 0.5); + $audio.playbackRate = Math.max(0.8, Math.min(1.2, rate)); + } else { + // Close enough + if (Math.abs($audio.playbackRate - 1) > 0.001) { + $audio.playbackRate = 1.0; + } + } + } + if (msg.type === 'control') { + const { action, startAt, serverNow } = msg; + if (action === 'pause') { + $audio.pause(); + if ($recordDisc) $recordDisc.classList.remove('spin-record'); + $audio.playbackRate = 1.0; + } else if (action === 'play') { + if (startAt && serverNow) { + const now = Date.now(); + const elapsed = (now - startAt) / 1000; + $audio.currentTime = Math.max(0, elapsed); + } + $audio.play().catch(()=>{}); + if ($recordDisc) $recordDisc.classList.add('spin-record'); + } + } + if (msg.type === 'reveal') { + const { result, track } = msg; + // Reveal metadata + $npTitle.textContent = track.title || track.id || 'Track'; + $npArtist.textContent = track.artist ? ` – ${track.artist}` : ''; + $npYear.textContent = track.year ? ` (${track.year})` : ''; + state.revealed = true; + // Show banner + if ($revealBanner) { + if (result.correct) { + $revealBanner.textContent = 'Richtig!'; + $revealBanner.className = 'inline-block rounded-md bg-emerald-600 text-white px-3 py-1 text-sm font-medium'; + } else { + $revealBanner.textContent = 'Falsch!'; + $revealBanner.className = 'inline-block rounded-md bg-rose-600 text-white px-3 py-1 text-sm font-medium'; + } + } + // Hide placement during reveal + if ($placeArea) $placeArea.classList.add('hidden'); + } + if (msg.type === 'game_ended') { + alert(`Gewinner: ${shortName(msg.winner)}`); + } +} + +// Start connection +connectWS(); +window.addEventListener('online', () => { + if (!wsIsOpen()) { + if (reconnectTimer) { clearTimeout(reconnectTimer); reconnectTimer = null; } + connectWS(); + } +}); + +// UI events +el('setName').onclick = () => { + const name = $nameLobby.value.trim(); + if (!name) return; + localStorage.setItem('playerName', name); + if ($nameDisplay) $nameDisplay.textContent = name; + sendMsg({ type: 'set_name', name }); +}; +el('createRoom').onclick = () => { sendMsg({ type: 'create_room' }); }; +el('joinRoom').onclick = () => { + const code = el('roomCode').value.trim(); + if (code) sendMsg({ type: 'join_room', code }); +}; +el('leaveRoom').onclick = () => { + sendMsg({ type: 'leave_room' }); + state.room = null; showLobby(); +}; +el('startGame').onclick = () => sendMsg({ type: 'start_game' }); +document.getElementById('readyChk').onchange = (e) => { + const val = !!e.target.checked; + state.pendingReady = val; + sendMsg({ type: 'set_ready', ready: val }); +}; +el('earnToken').onclick = () => sendMsg({ type: 'earn_token' }); + +if ($placeBtn) { + $placeBtn.onclick = () => { + const slot = parseInt($slotSelect.value, 10); + sendMsg({ type: 'place_guess', slot }); + }; +} + +if ($playBtn) $playBtn.onclick = () => sendMsg({ type: 'player_control', action: 'play' }); +if ($pauseBtn) $pauseBtn.onclick = () => sendMsg({ type: 'player_control', action: 'pause' }); +if ($nextBtn) $nextBtn.onclick = () => sendMsg({ type: 'next_track' }); + +// Progress + volume updates +if ($audio) { + // Try to preserve pitch during slight playbackRate changes if supported + try { + if ('preservesPitch' in $audio) $audio.preservesPitch = true; + if ('mozPreservesPitch' in $audio) $audio.mozPreservesPitch = true; + if ('webkitPreservesPitch' in $audio) $audio.webkitPreservesPitch = true; + } catch {} + $audio.addEventListener('timeupdate', () => { + const dur = $audio.duration || 0; + if (!dur || !$progressFill) return; + const pct = Math.min(100, Math.max(0, ($audio.currentTime / dur) * 100)); + $progressFill.style.width = pct + '%'; + }); + const showBuffer = (v) => { + state.isBuffering = v; + if ($bufferBadge) $bufferBadge.classList.toggle('hidden', !v); + if ($recordDisc) $recordDisc.classList.toggle('spin-record', !v && !$audio.paused); + }; + $audio.addEventListener('waiting', () => showBuffer(true)); + $audio.addEventListener('stalled', () => showBuffer(true)); + $audio.addEventListener('canplay', () => showBuffer(false)); + $audio.addEventListener('playing', () => showBuffer(false)); + $audio.addEventListener('ended', () => { + if ($recordDisc) $recordDisc.classList.remove('spin-record'); + $audio.playbackRate = 1.0; + }); +} +if ($volumeSlider && $audio) { + // Initialize from current volume + try { $volumeSlider.value = String($audio.volume ?? 1); } catch {} + $volumeSlider.addEventListener('input', () => { + $audio.volume = parseFloat($volumeSlider.value); + }); +} + +// Try to restore room view if server restarts won't preserve sessions; basic behavior only +(() => { + const saved = localStorage.getItem('playerName'); + if (saved) { + if ($nameLobby && $nameLobby.value !== saved) $nameLobby.value = saved; + if ($nameDisplay) $nameDisplay.textContent = saved; + } +})(); diff --git a/public/hitstar.png b/public/hitstar.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c4633579072898940586fe72f5443638bafe04 GIT binary patch literal 147318 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

0>N*AwbEw%KTbc{}?3` zTveOOzQ8u%95%N%!soH@f4MVAX8lnpWl3&=9@C=cga+!-KfWM3)rl`Z@m;R^k04lz zMsxDPQe@v!G)Ih_p@i`zj4eJp9z3s>z$%w z5wa>k(9oP`-EOT~$rWR_H>=uYie!f=k1P-yqa;8r%$ji@cY_*Iuq3djcYuTtvJnhp zKEgyM2AU?BVY6nQCKYX(BW?PeJ%r`V>+)Pa3y1AS0gWepMnl&7=&9`MS}OkBMYUU1 z|E3KvsM`P=8ymr>44M+Enk&QYGUhO#==;awYH|`l=FcQ1rs5F*&tIYNH|IA%0(Lra z>=-=%;)@3W0XSeJKvu~*y1blJ_|D`fVbZs-{##LkhWoj)V&^}z_>O5IY;A{mR2JnK zj>>$pq1s;|!1&t)iwKYYp)nN_neg%w96xqc!=?bL>eQ86JP9DKOh+1{!0MJjzZYSW zn6I1#&QwVFa+y;(k{@EWWOUGba&AaQzK;XZgo9|mi|N52a)Klf5){=dirx*XHi{l= z8o|c;W!TuNg8ueSbuP2H3Rf^g*xK4Q(yY7Hjr*}u_yim0)C2FO+v(Mw>r;K`&rCyq znvWHeSIOwUPxa=iMSfbHh^WQ|F;DPN6atqZqVDNZbU}y(nk0NL&doGWq{i!0H8`Zc z0p{=590rQI5twisRD+6|pus%Cg{|#@y_e-Y5_sX_rL+w&v?GDFk;pYy{J8{+?b4@b z`aS{Rq;rGY01NZk)WVyV)sAZFm<8w`8lZp4WJwiTJ@oI62e0{~QjoF>-(EFsfD^~z z`E%zETLAlQJ7N0&MHad={r?8Hth7o@i9T6`AV~lawzoFD*+oSGo@1aFD(^=`E$p!yiIM#ExleYaX$3iV*ExA=9Rwc0flL6{{x?2ZogoB?jIdqs z2eSl0Oh*1v?f|zQHcbN1o?Y+kY^k%Ala}H3j$hPJRu>UXCftIu8;SekZDh!QpoBqq zk-y`P+fAZDnI#;>1(%WD5(!AWa5sE$nK8)Vud41b<6&dhCDlpK90NB-Dc?e(5};>{ zQH$OPuA~1>C|TwvkQZSLPmbP2|AwD6sxqpA@uf@8R>7Y~yJo5Yjc|2ktNQ(=?Cdg* zS*Y6-Ec56H81!m=W6j+7v(5BpOmCN`yo#cP>FIuz5X?bL6pVoYEgmFv6+lBOq>!%s zXdz(>lY}(%9`4UW&=7MSqo|143O?Fb)ByXBh1PK*D87wjklUEp%n94-+M2$<(@he9 zJ*WVT-53R6?vk4Z;BmnA1jwz)BOv4aR|o)+)b*xIe2UP1ao$Me3^g!m-iNx?XDn(? zfJ02G^O=1KSkvGz0oX^I>HkNI;LuiZvL~;DIW|uOG!p+XfmJ(2eQ}%0UeTx1OF**! zP49msMKYw{wdc(G#Zg7DcmyVw0GQeTu6o36x87uY2vSBUx+C@UB%OV7RzCVUu$-D+cAS1=@ePVxvkwNq(CE34c{&hd^ z>}oOAAJoFUkOnOCSfo!cIov*tkDAOMnxA+5WVj24GGK zpR;alp`@IOra}r#)&At#A&MXp2SRadM~}e^FTHe_0PL5I z11TTWc#Mw?ENb_v1_I!O{r%Sa4P0LsC{&2D#P+h)MiH5x@pU9?d-e(&MnQ zx>+TVb5*s!3s|4eMeyz)yw)v~XAo0*-3qeqXz_Vf^DszhLV zdLCkmhuq=%zBs>%VS{vvM6xu4P?7lj6t|8@fltlT1knzmOaow#thrQqvHiJYABmIo z1Q?m=O-=cpye}VEU6j{=PIr78W9*lVimOp+iVJxXG78b}&on1KRJRYvTs;|GM+NJn zY6(CNY?L+@(es9EUgYx7LfZqMIDVJ_?5pkgQLaofW;UhO|3}O~|Har$y^ZxR@8kYI zS4!;?!eAT%N%ZQ>_@7Y&%**{^<5=Q&pu8S4M8mjs5AM(O;p~|+>X{@*a42Nk1ehUs zNvT%yGq;4glGlB5hzR0R2Vd&x3(=R%BtQ&T2SLX|w-XwS7f=cGXkiHh?oG z+E`l$Jb9}9s~BRUD|JxmC&X+CB?K0;{zZa~{UZOa_pt`LPROIsIR;bL;IDLVbiI*!ffi%T|NS8g;zDF^eEg|)$Bml*~)EMJX z3yxqI*~@S>8|-0(;voj391<*lZP+7N{XXlcKgIg`Wq9`4hpMVa z7iLl5kMjV7c16jRI*)8Wy@SOBNd~rlD%OC1_St8vz_S3yPjD65f!Ud*GzjK`E=GYZ zHY|dSSfFR;W7PS|B??+uFytBGH4@o}oTva~l9!}F#s(yy1>~oAofxBdf#aJ7OAGUG zB}xEz?30lu?uQrBAPBF`+$dghcpR`l)%6?|=0K5^3r^NfK{7Ul8IxZ-s9I&Zb)d3I zfiwzIE=i<7zNOv!>;T&(gAf-20XTN#h$#wRQ3JA9Isw?9UoF3#PDsSs zU~NzUr5YlFri4R&Ml7ccyb25>ugZgvJb-RTIumTH7yoK=bd zfk>kA_&8=&2jw_sHoj8+8>H+KJ)J-koJ}6(X*_;7afn5jWYumi8d&;wYI+)W1b4(4 z1Th(~h*5x-5%?tn(3#<$|Bk=bH>&e`adENXvLlPwRp%>q{Wb1eoXX}GgA#V`y3GcE zw*sNn!Khak=0Knz0pi9&LA7!-ui$-)LD-zVu_jkdW zUu{Dz=6N`pPeyJ5`0TvXh3(y;x(T-AFlq55C#_h+Mb=Ah0~`_>8hr= zISXx8Mx-j?QZDf}+YkBxB$)1T%QrxHY4z`tDe6E3@neFH;FxYIH7&@BY2K75q^ka& zk}381p`HZr$&dYxJKO8<_~Rd~7Rx!<+!(>Rmp-*OpLqKnnJmiu0G??sqvvyVH$B~h zsos>Sc1*=%6JnQuuo5O$YP@K3ub4?(j=%*luoYurT4|h|c8Vgca2o~+__fcUKW{h! zr%#`Oet!pM`iqcgw)mi#2>N9q;H1^n@|>nHmM8!sC917OH@9f7 zzlel~IUT)NA0THdjgXg)CO?juhtwsJut5s~a_xom7&QjP3}FxPTBQHS=qhA(1Bo`k zrOTI-1b`g^xeZW{15faQ#!NTLSKvg_XzrI*6>xn$&u5a?lrYvZkM%sFG3k-xDEUGG zKxK1L=IHI;$(pT+HUN{xAA9nt!vx^fzG?SAR0u$h92S$wni7G0y8!g4p|$IkqkT=| z@DiHi(UeiCmo;70qG(N^Cd|Qj_OOBcy4nql6M&9||JCwB0d1gYq4bYbYJ~o33=6mE z`(b4K;udBUbMYhygeY|KgCbsm7|9S57~#;8GyxD%n>J&cs4PO32`(3;hSq?WJJ9-u zp2UXA?1&}E(X;|yc;Vsd#*(9p@WeAu7(u2T2fIVRU~v%TBzI|P2^JR?Yq@KR z1e~I;slNtA5~}sjte!blB@gp+^X4&}Y;0_9m>Zwdqn+IC}BqMNBWS2Brks1`gx^V7{f>kzYkwe{CQ9auAVr0bl=9r z1C;!>B1K3|VcM$v3GYK2^vw7T=6j~@E_MlY4`3NqL!1$0w)j0{5N*~- z&!}{<_W^0~ABKi+I(r7VapAk}QN?V;?_BVWdbfEbK+O7gQW#V#0P6Sg6{)ED{j^2~ zcqK7uAld&3%-9C43qp}pO^a7IN+1@&1&~1>NHfeG)LtbjPdxcixO{oDIxnW+*=HYD zlOJOP|6u5o!~S$1j#cOP(IZC_mrFmUiJ~1rf`fsQWQlqKr8GC<=Xa}$pA!vEGWeWk zICrh8=ol&B8zTb!=_$h*$VCi!I$pVQ*#x39XHHj1z>F~j&^+zQyBzF%;%h z<}eaZQ3e2E^+w8Fkh=*X@|K%#@>a;M6pG%nLIuD(`Ci0C|2+Ud*u37$S$w-Vcc@6kjKti!ZZM*i`Hg10WjQGlqemZoKdi0} ztKhj?Rl+Y!7JdvIKk{tqxoQzVedgC2}#8fBxMG9d-U!J`Nzs9uYc zf#v1pY9U`Tj&m!kD=?_eS-wqAPnkr(Ct(ff%Vzbw=bn8IZo26vn4f1hc0U`~wE86F zorxo6pVFU@1i@&KpG4MyQ8Xips%@IQ3U3?Hr%Bcmh`b|Ou>P^if#L+ z6tODc)z#I*1mIPj031J-1aYtb?*(rf=IOCn?Jqy_7YBH(NBc4@2pOPuZ18t~b^U)C zxE$P%fdJr_ACey+HdK$3AEW-KE415hzun%KtNzoAI<(42T~o5UQ4V%iH(&1mFy14O z0`UU@XU?|nlfPY6%-s9m zg!AVoGaTUxYIj(>_p$WuO*h|cIW4(q5=z98oNx{pW_2W%Vty`sFTG4y^<_qm1p*1v zj-s#%;GFTEuM&ZkmFk?|HHpB?Oy9Hyau<?yU9)9?Ju*$*z%32lt$E%F->+RS+Kf{wZ-Fyq2JaKZ2g)yr4)#pm#Ke-$n zH7HD3kC1xag8$Nm=6!hmf}%!c3VXjjQRe37jS?Uy0gMW)Z*IZVU}#4FFe7v8?%S=B z(r2H44sNNw<3g1L@R%To0I!j#pwpm*gJO#XlBRUfJ5(V#bklg@xgmyf^`Pd{^*0K8haBTGy5xKf-emSiiV z@z6ge@xNiBJi{jBpV*xZp$#o?kCD}Xsoqa20V3oy@O^yJj(TwdU|j|!QSsREsP_Fp+dDBlM4dZilJqDP2J~ zxH|^)iNv`Ococ-9qN)OX>AcZ>D??kY%D|ye9!mEc|I@Ka_gs|-FyoxL0;_8yn6H9P z*J;jYkToVjKJSu%g`!%Fdm;${r38t>2SA^LsAj}aAU45DI(^N|e4j|70<$cx+?DHM zTcF1V$HFFOA8dpE$2tTg%2!@Q+upr6H)mjYT`aNh$S|FcxDG9F=B>=l^!;Jt0&IJ0 z+o(k*-ahjBlr5sl!w|mn{;95_&bpz?Bm+o~lm`+H5EKYyl1~ z6rnCJ(U7m!YLz*Jn0{TBsR2;vJP1`kIrfO)KgTmqKM3b9T!HQFPSW$wY4`68cn-f7 zjk@)gTjAu%Q~n&&x(1LLW9kG)a#}a%=U-ttX8dQKE#WG*3HgB-7 z0r_Lar;!8Jm~DRQ)CpL*%4om_tgUYtBw%`Ks`gI&BBV1I;Rl{s7&$z8$KP+|6?Tc$^mK-IorLfYO67gg zFUP#vqJerNw|lo@($cc|K3A_^trCGvbFOpc7oThH0*(p2aE& zSc+NzBoa7`P#;MZ6UhKk<~)?-$2Rw%hVwfUu&Eu#kJ<&3HUy|4-Z$%7PBIzL>rK^4 zqr;&-pQ;<{_IJ8dW7-U3BY$!izgJ<_wtB7GN|Y`$&VXeJIsaoVLmp*pUXMfaa$=}R zU(ZH7tE|OOZ&OV#6J7!DeRv zII_#`&Okk;Mh-;f5}Yvt{7>x{W1dk=2IA{PieER~bT&x}5Zf<$%8c!Sk_g5GB#lje zAkrI1tWt$YlgZFq)*6Xm)CobE?Uf^@)k%JjWoGD;&k!pAFgq6rj9Z)Q@ZcxkUoEsJ z;L%S#8fhTpg8!~L?%YHFtb6XQg64FX_CQqMC(i>Q9V`nsZ9yh@*9lH(4Tt=W@>Q@$ z{C#B)zRiL%Oj9ZaOuE^cTst%US?C_^z@;mfVQYKGv>kXHt!eM`c;S^RedE;KzP`C!j zNdi}EZy<)(k6v0_fGbz`mm=VS;sB)QXz3lNQs}?g<~OTc)#xmTCMea?zSvm(^QL^= zBX(}GG}u6sV+A9$tAmX=+ec8r{%DmTaj$m#bsPuMl<6Pa>p}#wx{FRb1d6dhj22jN z@w3#AU+{DN(ju05&XG5xZbF$yE1WTp^rNY(VBr}KB+P8c$6KOc?(^~c-(8&pC*Y~4 zo-)->qjtXy{yf{ixUc}Pse(VZfz22&$IZ;l7?GiFZ$_gS zfDtP^jZ@@!0-_Z{m=@Oxa*hMENP-kMK-gaAF7A|H*x(J^{-<`sAl0&HDFhm*39P-4 zCIB5X7Pq%*e>`$XHUa4Mr$h^2OLrSujwOmO;<+{?TRW63PB62ZP&xuyxXMWa*R2rQ zMnuEGIZOavrQ7n-VpQoD(FoXhh#%Voe=r~X(Y_b6n-SY<^xZ)a4^M zW+V=@)i6j4T5bO0zNSnHN=q(%^wEzPH@_=aF2NR$JmrqPeVPgW)iLLpdJg_*dZmS` z{L!fzD#5A@bnQMR)hcVHAvW38i9-U+l!ye~(GL8T;wTqlS|DSM44RFNsQb92+5-V; zXAhD!16}jx)qvx9_6d)23 zR?I_)UFINi7Q`4c%KHS2MFa8ycW>6g?GKTcDF2*G{Q2A)8AZyM?*kBj8)FRAnNfup zkAQNLmsM+$lH+FTWSrm+=y6{PDv^1VfIOf@mZwGFcmQEdJhHq5PwulpfCG^L%=Y`5 zaO4hqS=tN_C(`<#Jov|bI5MOrfOhY7Da*+{vZ0&+h+Z2>1C;*4CT&}vyEef5v6?K^B2GE%V+Fr!Vbj7vnZEX9Bs3h07{p{^POOTkzwNvL*u1Iebgnt@=RUh50?LhLfoEoBbD)@7 zuK^3yOw?Ua%38h4eG!C$z$dkGoh zHnc-V@l(UW3m$OvTELNWP;yo?tP7w&$S2=MgiZV07ZmaVWt9A zP(8U(%Tj#50^Fcw339&{UMf}6^3b(AFvzF6{fn_4LVWmKBIb20YSe{$!AGhj;8K+Y zY;10s-#H+q;1$C9`YNogEgCn&UUya`nxrdnq85I=giU}EjP3gqwxV_*lIz*3`sN9Zv<;9Z055+WkW8{GlMW_);?WG3B{Bw5 zQvj~A4^VFX+QKC)9$>sLTFxIOdKgRr@Qu(ER5z?-Tv6M=OwEX}wd`;Omx&ui)= z3}Xl>I6(SQsHioNp5IO+hY}rqsj`>`sN85>VW$M-BclGP7vXV^jxxH&6|uq^OweCm z;{NJYGa|@(@!ei0qVm-rmbDY+=4PR{I1|t!)kBw11ghi@auB+k>sLfR%(T-(;HOMN zo_CLokfsd0AB!91OJ{0WdT@-VMT&1VEn@wCKS=<<=;L$oGPP%zf7~Nj)zat<*aU!y zfVojt$h6>`9JoRzDS8^Y1l_KbvH6b|?GmeiO-i{aEDd+Yv0xnnu(fP&~6S116_z|DPMw?M~1DxTuVZBFS?qQWGSitt)xl01-N^hfoV z*FGR+bvzhs!y}J;1iIbR@X|{ULP9|Fa3k3MH^M!4-(v)R3TO3f$B+t(G8G6B8W3>; zAWGDbLK0xQ`fksa;F?}#QGy!<@O@Q9=8WZ}U4nx`GFgmTVfdMllF7A1p;~O505K78 zZEX!!s@pMZz!F!jjHWSfU}~xhGyVC<)sK{$U(=KY#`*|?)}V;A5wlNf0jWuW$aezL zyg~U4B+~^rE{tM28PkGHj)UNHm*VV9KYfl71R9ME{(A}h9__4NwCCqz@x@TOLHQhG z9kKc1858_-k00(18iT)kj_Us-dXplRkjS{|NGlmmVA};*vczZ9mp^^-qzyC;AJVJ8 zHP184t%w#nRAeeCD;&LF2Sp;FS7S-kl+Y$2WfK7TQN7-gLJQKdDk?D}pO0QUKiG>3 zn42`sfq#DFkq=dOEWz_HJf~R17@@G-_vRPi_KOj_Q3+27um+M>UJ!-n1SH2TXb$@T z?k$NOcY&lbda1mC>V0a@%#u>LxxRQjT`*5tqjZdo@+T+?REfDdjF#aDfKd%T`?i!mEFJ+k9+rtKY|GSM6F>D8_k9?B3ljB{GN-?$sB^s z!)B^|pMpOe>~>+iW8vO6PUNPiLejAyNql2q%ik1VHftPMtcLxB})@3n_IgEA#lVCV(TQ;eZ@*4_eU>j(26` zz?T^KsDwic#1LdC6RzS%nP5bVS|?X&ap3GEW<+EYNRlH-)$dzd>+sZ*4^^M{G+e!U zC9#%v8>2$Z_+MOHf-|Si=xV;OWIsEq$)CG$L4p6!J%8|O@h zrKfwnG*PP_dhsHU2KK7kVmQ8$N}Nk<(jGtRu7D&>x`Z{?yZ57jq^<|Zbr(pk6FPyR zB-@A*3Kgul_JJ1BcQG+jhTZKOf9e`T^5J>=^K7G1z1W>mbT=pD|KE=ZWg@8E) z1RD2Qb7+a*2d>yGOEvqRez#h+D^37pk6UUFphFt!!anmgDO~Vkw%sinPB((l0>`j7 z=aJe!5@J2{h3^K#~pX1?Ip+dNAa1J_z!Ad2t=L0Qm$Gf z56y>l4|RZ+feVCUBcwfi9YCWxH*3n*Qo@SIb27(>9h(TPuC5si@7y)Bw!Q{i+sCT} zz%KHLDiO%5Q>N7`isOrF<{_p4knDsc@f$@Vm>!2bqNogoD0eMjt6lJ<{b-y7KByit zJw06;mdWSwzT~2z(|g(LuuLvSmINp_R!g0lnrhr%uH9DHwhyT>Od$|uj!~)3!_cCl zd?807kuS?YZbfOEU0W!>_|pD~jos^l=X|Co0NesVS+on6xdx*jn8fB6Qz&2l%~fh% z`~`D>xl0mu1@gu-xTEB_P)kC96IKRn^V#Wj)q~HTIo;kzmj*bQN-DR^y54!H8pAXhXn%j!7tas=t%y%Xg?q+)WRnP=KfAy6?Mpy5bHKN!tQVfo~)|> z0?)$g%GET*v2VYbO)ozFjP)cy?;5N9 zmSiCM+xGTWRje&Gt|>}>+b4K&^{=lYl5>B`RW!VRsc9}g0dNUvDc+u20Q)Ikb|=7d zUfo}?seaeZZq-F&wa;97R9C>Eo(|7Y%b^i)##h;`xTh>Z4D8w2o=8y zw%F0tltnL4YKH>|XFNFuCY0~0H+tfUk8`>SFTHdw-{*mPJaAA|KfKRRojfJZE!02z z`(&1hAu&ZgD&SFoG8)2@0TC#Q`pz=A@Lm9*;M1sb7i@o(9Z-}}AV%bfNF;!yZEG|s zV87G++`Qq%tZ!~s0e+@7kclocCJb)x90#)|%V5}KnN9j!bjpr|u~0yS7H0NEmZa;f ztVvINjIZ3oe#mQ72y;rx5OI_5-cA;5S}V->Wqi(#CB0#Lwciq2nCDclb@ke}v%3pQ z;yROQa%->y(RZ=ut3m-&QwC2`mGD-XFjdiy0UDyX88-@RGoP3HDPHdTF~Hf3|G0@E z7?|O4Wsezawr1iVWEI&QNo!%J}}`4 zP3T$v*d|Rb79>ilMry(g+DnK8jmaxFN;N@WT=~(xGW*t&?B%WnFHc;(XO8P9SaUx`$aZxaxZpWTlubFlWl zki=;__5@`#t*09`6p6_vb*l3eNd8XE>1v{=N2<-l*8mgKHn+B5V`C!_0;8mF8`8zsWnB>Rgk zs)TJJ+dgEP<#{RP9gymk(aS~}LK|RYjv78QNKgH3!s{+CA8}>x_zeRrHns*3%5@S_3*inMO8rbFfzT@Z zsS^N7#Z&Ae51meG{1X%C%Tf@6LNZX>-@2YT)}ulqc$|OfY1rBt!RF?QHE>EvpRDXS z9F{OQH&=^Oi3XCc^2pj5$I}uRs14fQJi~Mrv6f;mS@g>d+EFj^0lsbyhQ8#IJPAKW zjbi_kRv1iN_cB#51?M3~ZTkHgqY%deK}^0fJ!94P1v4^ubn7TgPtSXvNr2KNOJAc> zB*zr|WQ1EGC?)&>#^Tpeh9rY`#zZJ<`h%GkOp_#W&L*MLi9I-~P7@{;&N=l)vX3jvKm?TE zcy0tu!8L)Bx5ThhnLBK_1SknaWM6Ca&zJDDcMQ|StVT=VpYQ;$t=nh@OM&&5^ ze(aK16xScpQm-f!1}SMmi$4^3w-OVa5-c@R!Na(c1cd;22(cW)i0*bRgT4&YbWTXG z6JEGulL>cw>d6P7+c^T4Ei6SmRiv~4DOl$qHpka;TbMm#x?DVbeErSHGcYT})^7PE+<|Zsv ziEJU+`m)2W%!9<=MCDK3?l^oQLe1RQJ^=cBj0LigQe-u&Lp08_m(o6%N)T|;>k(lb z+MAP0H^oRv!vx?nxdjj(Fbv~Cr4j+!8|xn+KQ~_p42$1~6|YjULA|h#R02>K z`2R+LOpE|%E$u1+ICgYmF%h{qj(t?4n_@na&^RS8!VgTc@Qv?X??Bv76M7|*5` zqFQCd0YeZqu6~6M;xQk>BNs$I>2WO%l9d%w7M&;Qb3jfon1C|XBsC#7>fi9#GS?JH zc!6YL>1mSytZ!@@p`eU#C#;A7 zhu^^GX58IH^~{umMKi}Th^OX)OePV{IGh&svKBsP-?ianjuWO91vW2Y?sc-06t%h*pNow^!DG68Mnp z+UcZy`E{mF(;T|^A_TMuV>$o=hHa>*xK6i5UjlZc&42H z<{TScqT&%hdDf7^KfIw4s7g{t{0tW@g5mS;0aCuYNd-Hf31k9(>MPL55XuDjiIBSL zXXXL0JhgsIJqb`0ojt?+m>q*e+m5qZ015>d8cA$udJVTv4N@VX|778&(7J<=AxJ?l z>0_aRFtjZ|k&M{qF-pP-Y0TR?L;yZx5rAp67|6aO3Im@>q5q`%cYS}zNU}QEUG%zh z`sAhsAbU=u8(^9{ zURLkEfR3+VYm`%rg(7()8`Fn}jwJ+%1r=rGityaCk5&uAQCMGFiZ36Keo~dY}3}-e-JhH@CLo2nP+NN>@k1&5aEh?5x9de<8sC(ixC+ zD*~f&K>wbOFe=vyDG1ecJy2fC7eTrcQe#q^BLgK z$cH8Yh`t}U0j8ZBWRmz(!vclgy8)$chevh8c`iwjsL(Gxq3X_Igmg@t$I6ws+p9hS zfc?AGv#q*HFNySg&C7xQGg-InC7N+QY-<33(g5I6(8vJafQ_r!0)odiE77@&Ex#~0 zIojO!9n%Ux4bwKZ5#ra*H494`Tm8$Y#1JBiz=gj0utcH)Ly!`4>t2bUYGEeyBY+T? z-qlL6y}b!nS@Z{I6O{m+Kw`f`S4a;m59G*^BVra`oL;WKO1c=XD`eZMaRDWr&u6lmwzLlZrT~MoNCan|d<;OZI|Vzt zJH|i3=~l=~ZmYU~yZSpP0F;B$l|WD?Sj%KVqJ-jHm(sozi}na|i$+Ky>EDJ0H-3)# zf(ask`L>#Bbzj@6ZV~{Ts|>gz9~MbJPX%nI&cMw)mGD&QX0GYLSZjnyIsgqat@ zu`mHV|09jg<)`LpiTx5YyW?P* zSN#|4cH%23Ks~q@)_(0r(AuKtbWrJi$H75LwCLX(Vm3}UwaFVmVv!&cC zV*~(+BDQ_h$M*;Tw@P3pk|X5Q!-Dii+M9=*R7#_ya*%8e@89ZPxR*4*&N)M5CZkK(NOeaH z4PUzSB6NzrA))zNM0_>V-XWF{T?ou`5c&cUtC?K6Z(B7|$*-2|O;GKYwN^vzK;e8u z3vv3O?R)eYcvf-)KnSZ5L=66Pxg=@<~&4;ypE0x;Qjc>~4( zeWoqjBU59lXPi)I1T)WzUE0RxL5&FpSnqmchkGMV5-|qpDnU5{L}EnK5d_`OmoJ^G zo_^AdFy&wkhwjX=V7=`f2g;uf>KGtu6lehdtrTsC(%$FcZ0F8Mx{8f+fY8$~?fE7u ze;@p#YRDxE6jlF3jd}pNHJ>0J`-4awSW5ttA}5mK5-UN8huPUN>XUxp^g9`jWcEr!?A(VdYE7fFx6@DSm zlL7jqjW`98TOg(+DDP-N(G)`H+sX+GP(;Fd>Vsf+cVH6$ea#I=1M|0;89CpNLFG>* z0YNNEpfVmc$dtHJAyGtMU)lSd0Fx3q=kFKt5CUDG$7@sGLy(khv%rrM3CFb6(H5n< zMF+An%_WTw{Cmm^1Tj|-Dm4Kb(@B7c^3Z1UtNZ>WMS@ie%%^6qw^HKugG)mZGjvo()_=+gr&(` zX_C)zBNG8?2>ju9E2>i+q4mwx>i!PwNDuYMglIUb4MnE9JsV&Ek}*h1Azm!&6Ut9+ zU~ODn_%*Fm)o*fqqc%VpMWoVI_maUcs&v`!SJi*1xct!+LHzbQ*vqzo;vmRZOWGG9 z5#asEzw)ej+#p7*J?0sSk@Njd7)Flw0R+imkYYeW07&~S$msx4?&kuZc2x>3gWN+s zqNEc6{b0=O(YPy>f&UYiM#u;Dq`K`u9)qJjtu2jtK~A!|K+hX3g>MM8EisBn8J~ZW z9_W&!!1K}PUTDck8)%3HiKJN@c3{73`#u5CHmjB??)3I^YCkU*`WFB|*1JBg%x$Hm zlI@aSv0c*~TXCXbAKL;?{K@eK!THy`FG5uiNPI5v3x9c6iC4dGRMkIX&p7<$P$FJX zI4ITCDtVI{w7`DS3W$l1rIW0#je5)oD~83rh(v>O3$hRVD)@$ef0+yZJ~?nfyA-+! zq57w|`WMi>{5!;Bh|#E_94Q3Rh9J(DAc_H}#)S%0tcdOLU5Xao1Y3{~S)5KED=sT9NhyI18JXsiE zXM3}{uVY0)(ttFwz4l(UV34RPNLlVW@V2yAl%7A=pn)BcL)3H84G4hpu93a`2x6xw z*vo`K24+7xD5w2NTl(gtfo0pk+AF9;LQND%VxZtJfNz6fEuEbtpEX+Id^J!Y0I7W< zroum<)e6J@*E}AF;z(j&E+SK=`cJ5@O7dBsjoI--$RsC_0hQGIfhLeX=yt7A~#C?#@2so+nXTp?)fs({E~2C3O!+ksF5lqXjx?yf)d zpGO6;Wdsh#T|U<{14`FqORU=~VBZAGzv>mG?R<9#7U;F{rKGG`RI2^9wX2%LUjZnIE>;2up} z@lU>n@u|_l=H&*Z!B4~cQDXcPw*>6@l!yaKj!K$A`Il=j+B!r4UPT>%TzxNe9@Pnl zZDK$%^pCk9FN8+M48SLrp*JqNr3b&$9V7lj2PgOgcu^o#iwHQ-t;wz$Fh)-#$yfPf z%lkQup4e7^EosoXGy41>AOQlCRLW-PrBB1`diH2j==@8WUXsQ;4Z**z9?N90RElX) z_3xHi6lj6GKQkR@eH+TOxD<(ij+p47<4&epB?l=ZMnMtG>|f0gT-NCYTC03=r+ z{#+<=zu4>;)2bcyIf8jCKViX3R0m_ZJW=^l%u|5;h+yNeeeQf3bB$v|P}~DvPz$Fe z%88Vqr^*3b%<}o;rL_LV~95#z2k}!Tv3o)~hU66p(97-V)>vcmH6x zQ%i>0S$~NsqNt1u>ouTfldUx_ll%$?)fT=TP{)uW#4XE1K>M?ADYRJ3#sobn4;%~k zfT-;2g;;O}N?Db==jLvaE`Zk>(D%8~!@w^9^;nAa2r@2%G_vx^vH4b6ilj}av6|>7 z4T*F)jk$Fr(t{w4J8KT7BooTkBaETpp{U6zSC>*d&j!=VKdS`T!Ud>GRouiXGbKhli=*5pn~ zqIl{GC?I}pXbChV3`&Qj1qDc;OuTU|fSlkM;-mq-Ib+%{W|AZ=qLBnNi`s$Q_wmtA zds1sLMYi&Qvao1>Z3g6en8u{BK)d)!$kxvNV{j|0^9V;gqim%o1Aej~N|wK?`XSQ} z5JW+8=0~Lk@hRr+%kwM1sw5PH0?V58r=Zm^E~`LluoFhyWAvs>;HN!S z`;)CJs%?SIYZFOPx9G6~?+-^+sB6Xvdvvkt&zA8$*JS$qUu5)yiJ*2q zf@4k{5R^P{ZJS!Owg4~}Zs|rHjwabSoH&3_N(6lMo+@Hi9D)_E>midP;91gEVVwQ! zc$zqHYH^hWJHvoOJIhxF$k>e*DhuU64s;U5s2G7bDJM%i|3PFCEL#Hp_cHPfsDpnA zrJDT*QKck3W`2_KV03^r0pvtKL z3{|O35~f&6xv{bW%^bI6Ke7OTGZ4RWLzDh$gbfeOwz{PV{4!wc(LqfdBc=17hxsWIZc$QgQ5zru$_P~ej%9!i!cuB43~wSu z;7u)D!Vy^h7+#(zsm$XloaD%$)aj3tjGQ{Ja{m*_M64o+@pl%j18pOapo*B83`i1z zBv8|}SNxNX9omN(yX=UepUnxxNSDuxN&7qmFt34UC8dMKluX4IJ~d*eXT6r`r08Cc_VJz%s66L1AhQ%dri7!81ZI2IFOiHW3>H&?08 zjp?bG>gSmHT>OQI5XAC6a`Zk*KH~RF^d2a`ipXSw)CZ-> z&>x{rNV&PB)ObLg7a90}PYcr|_CS<=9|_+#*(b-W|I7m@LirW%rO8)ONF8gVZT%i4 z?VqN3_Zp7ut7_XF>>Ar!UEHG>1c+Jxsm<(Opnnf*AwiQ`Fhq+tB!rb4bUY|#+?Jx~ zm^`5G%i!O-c;yvIW@qQC{~tiN+fTA5{;6Z7YuVu}u)R6B6~WOLKrJ^`a-dEVuwIIY zwBNf~ACV;L3^_Jh&JQ4TDni9wMw$Q;YA=1(Sb82nAP`bICTM>S87C?7p-)A`IHHyg z7D$0~9TWfs<1PG$QuG|9U7@$fZP@w^BDs}n;H~0W31_b6&g@*NJ+}c8!zZ0e0 zxV=LCO*JzM50z!G05&brwzbB#SAjCYUnG02d<7Z&DPwCTj#+NqV=3zWg#hg1jh(}! zAAr9&jSx^?0Nt;t#pNLJtp z^s89+paZ;EFr8zi~gGy-CKx`PUfuRsAG&_Q%+Kd$22#IY!dSit>@b7G^c-aZ%TnD!kovS|B+k%EK1G zt6-~Ht(08sg{5~lj=d)peI|S-S)zvaO$FErCD$-9#rCORLm$5sW0E-~- zwakC+_PS~Tm%DtrKMh%(*XWl5MG}BIUYZZd1Y;JRto!)|x%D|(KHn9NNS6J*dA90+%8 zNVPT;7F3@D#v(kA{O%40hb@3t%Vw%C(1=-^+FyY<857P!|EOzZ)E5}G1b_EB%usgY zH{^A}uX77Pc;5R2U}tA+a6b^0e{_g^prtqo)RwD!tWKOb15d4Q+x=L^FJx2zc|Y$~ zw<(sTE?v+nJS1IsNVl}3hM=>zGw+c)61&k~R~Xp-#%h^L zUHyY@11KK`U(sh^{fyi%U;`HbFgqCl(86oWJQka<{*1IR;+TTne$nA@n6L702rMc0 z3ynnpB!|jfBBX?XKu>5ydqSF+6$d z7I^ZBPr&q454NlQDO)XkR&aZO@7~(ksw&r>oi?i(0JRuR6>JOJuSQ`-D-!|q#K%Boq8oUid6Eds=nW!*Ok0a4z$~!zvgZFRV&iTfEOXhF|_Vs{b0#ULZdhL*tTmd z>jee_PVz z>9D8b^Evn46phI$DJ#zbLt$0yuEK3I26!k0^s3n6nN3$6Fa(H68PPQIm(%*sTudmu zxy4x0C}Gy>CvuhOGVdmB_m__VbOgeHVc)a_c|2eVKx~@zN-tAB`~UfrLSlCI$t;U7<&xCv%vI#uP=(`;{YJxxBo1#E6_nRb+M zU@WX~X<08YC4va*SPQqHB?8LoP$3ZGt1T7lCFB{o_a)UhH1+$1i(px*F+FeQV`YQE zTK(3VK~aKGTHwDFmcXS;76dU+vyt z@Zffg{cZtr&s3Z)c!+aBDa%1T4wwcS6oERi`4KGu8r$h<8tuy`2$=X51Retu+>$Xs zvnF-)0F62npAatz+aQrmhZbXZ;t5kyTU_{Ke+yS~1T%@F%^v*v5^*yo^3T zQX;OeufyTCr~Dw2i3Ygi&d;vSt|9cMrb4h5kLxq}kN5S)x;EUg!L788kiOcLN_gZ{ z^+F|GdR4s1Zlz@Kdw+otjLrL%>1PVTy^KD0Q1 zJ=KkdGNLM+M8YGID;4~~P61#P+;bl+P9hv~Q6=rzunuo*ZSIfw=n;T@%mLWm-WC}% zsXh{lMWLy}$6RGB|JD%rUAoV~9dkIAc(|NvHZbS)5#36&J;P`%)hE4p`4TKGFUDQA z10Lk%s1~IC*~r-ao_p?t`#=7073ll0J{YJLkV^p8);C~nZ4DL|7Qoy7QfMQMEb35* zYL!5=s7lQwPVSW*&dedG-QC6PLM9Go$^N!-EWLiB)$8L`d*PuAh}jCiB@E_*KVoAN&~?E*t1(~?f|zS&h`zuZg8;CCT0G`+{-q0W_nmj9 zCB;Fn^g+VJQ56v_`uE)XCg^nk1I*4GtpfdOXcyRLFl(Kwoz2Y+qaxO;j<-|x^AW(l z=E!LPK#&4pL5g;oHm>48wKm(k3>MJ%992!v%R z6Nj>aNN9uqXk`9fn4eb(xch&;W=@?xE@F)^213mMP%3({a85MPXM!G4+9nVrLKGu% zBpe$h8BL80#yk@c()StCV!U=WCj$C=#9{*4^Dp)=3V+?&+KPgIot&wG%L&4TJ6Fpw z1&Nd%X0)`^X{Mz~O9rP2p(y|j83E}Ohy=eS`m;iO>UCHnFPo;I+&}Sh-y;A9u7PZt zm(9-GfY`{V}QbRZx*5egLBC53K{p&HqP1UyJ#Kzn3y8up9tLY=ougk83TI zFtiE4;?iQWpc^Y?8o}w)H;G`{WE2yPen~|>6c)!KAi8QZC;O`efJ9ONQDE1-dXc7x zDFk6=*b>;GwO&I-P>kdcL25l5zyx|RB44-=RzZzx0jg5`uwdQAMOaid7vI0wsOBSLGW>9X%UmBq} zLn#uL#Gq=`7M}^oyU!`RRKfgLw!J0*14!?5BHbP!N|S<;#B+&4ndkF))3-=`4Vi%`nb(Z$J)Ebh=3@e&PIiIIR80Cjn`% z5S7pP8{Y6m@b+K+Nf_)dB?*8*f~tyQrdr^(wzsRluh(QYhZR$pH&!+;B+AH0z=nX@ zioyIkO34q2K~yjX5~ivYs%nV_KtwLoGQ*|${AE<(gBPO$`*-0LAZUtirrwRv9$8)v zs+;118kIx1JpNxqakY0_4y=3&a^&An$S->+djl{GR-!AY9w&*azN zLVo2!ou_C|B%&0GKwJ^xone|G4 zb@g8=PDw}rF&Gn3LxPIqz5paxfRtYiGQBD-&~yJJ+5%GQH~wAp{G|^-Q2CPvLN#xo zjC%g&@uegGjZC7>2>@jhXhyWop1nP?<_+V1?mYvP4+2#Q0UJ<+a}x9TK68MKY_EPl z#3%_sT{2Tc;8(^&BH5(udX%;UwB;~FZHAnl6=ehR##WjD7{oBs9wg9$eLiPF;h{ko zR2Fl=r%H-hs@;8*{!D+&d2Ky0%(arLSAs>=Wcwk4!jitf+S??HrNVr^NN>7|C+l#? z0eCgF05&!a(WK}EB|JCQ(%SY;fjp$;Hzx`#a5Av{H(vBQ z)qTU!^*u0dA23EsHt{)k?xi~6ka`6NJ@{uORP{{DaZJ?m48`ZlXc%8{MaM+{`vQ#N0y<}!Ke)bCPBXSwwtPJY)U}xDmH|~ zAlCAyl+@?Z9w7pRIYXFe*j>s+U<9_4lnsWA?m(0T_!go_I@&ZJob#Y=X@FOgtbY%T zdH3GRZ^ZtM34n_&Mm~tTHC6T|TSSEXWtMrfS8w8*wsdc=GlG3Rb z$g}<-(+116!{mLn2vCvLM_~kDKgG);?124w<3(n5T|=@os;epID_;0ZN&c4!{(j~d z?R|xMd>q~jt0rYgevmN+a_}!P0cP6&m0{1$4GPFb(KVzgxA9cK3ooAA&r%S38;x~3 z5xJY=jUZ-^`%O3B4R_sr7gW1g9Y2W#EH5sYgMR7Cr7AHkg9d&nV^AM-+gMX&_kN2tjdp(Ij zMzl+RBY-O_tNSQE9smTuz&2IZwp1;=VKl{#+L^iQ7*vGTq1Jd&kQWdnL_sSDTU98d z!BD|i@!K!~W^JRs02#696uldQG%@jpwnC`0Cx5PHU^VK zBWc`Px)GAV*p)J11abRmBT5keX#6kYA=sY`!7b9nty=({2>n8jJdhP#C@{1+$lXab zUgVJ;xel>Jx*!17EwVWv%%8+Tt^jLdBB`@BV*RJ*e-rCJCnn&McY}OHf4p@0%Kn=I zAlTm-z)F<>+$v9qvM&1zFZGy#{sAI+uZ9IzX6KmR&)d{=54N|ldEG|qV{Xr^Q5B%4 z4KLsZi~@FhKnzcd`<{CGY53AF`Jw|2`Qski0S*OHNU&Xy?z#6qxbx0i;K2tj*K^K9 zq8h0my}Yz&5`e2$ubQf-mOs_io(~<7_CH|;MT$?T+$u=9Zh+0HLxrd+#e=96Nd>`z3dGx8U`k^SbDQLOlf_lL5gT z4-mTs?ET;4*8t7<_a@C0vG}D9fIFUoDHKl{kRX!g`u*y>ku3u0Km;L)KoWM=+?aO@kqCw&l zT4w&0dX;!QpRiK`-ft=}Sw+sP!d2Bxw^P84aGcn;ML@EurP*CAd;00GBRZf|DmthKfpPs*)qC%1{u^ zw<93rBS=JWg2Wq8GNJUyl;Qakm96KRP>+(e)M=J zP!0i*%C(Gt7V`S#R7J zJz$1Y>kBAM0x$w_;AR1-S^Ox-s$wf*KqBbNKzzsTuZ1_>_a=DndmmO-&yq;EG(T@f zRCz3LrAkm)A{c`;9Y{8tcdqk^fG{V536hv3@W)C)q!w;J1Q=GxKq+u3Kq(yoL$x0S zfaKIb9BDP`D4qv8@KXfiOX*y#2pHCw)zwV@ zzZ_<5fZZ8i2$Ev0oGiWn(4G(Z2>>3C9+e}%#Ldmk1EegefJR}^MljqN_rx;amWzYG zZ=X>9x{%M~HmPxFB|YcG*J*j3C$l~y5&(exo&a32qazNUD*Z{u3BX7|evQ?C4x+;h zwJ(wf=B&2Q0v8f5&WyLr^k>ycSx*AofKfnpqvMN{FFrd7@X|}?O{H4TrXN=R6K^r} zDz>lssy_)2J@{8(wA-(xY#~+UJ5dF>=g*yot1DLxD$t*vlEU+m!IZAp8dU%@1s7$0 zAf=8*s*R!N`DOnstxlEl`^VQB?WY9Dtxi$LBjwOPoG=LZvY7I@{jb zfH%DHwbk`9A9xC=Cv*rPlHY|?fMsm{H6Y&(plnc2)d02U1VxF2 zq#ly2dI6%5L(qyn?vaU9ZuouGu-oGa0G^)eX`KiNM9JDVH)t$?JCU`%mjyn(M7v>=^UM;ROC_>u_A{Sdq)&AmZo`^D?FOe7*$mx&!N%{_^;?r0U6)#@JSwd^w9$m_}hZNa*b?p&~mJ9CX&VsadR$Ii{jCv zr{OFA;5Wf^e;ayJ-T0u_XiT-x9Iui94v-fwU4%h(%mc&TGV~q8-n;f$CcXPz+^25# zZ)J2}>7HAXp8zOHF#G*$kNo68S%&A8o~a+-FW%SN{gx((`0qibohl$RiBk#-;X3#a z&3?S~=9_DhuJ4A_`Rb_zHwi{{Goyf*4!6i{hNVvJLzt=G>vrHq z47+u!gv4Cj;=WIQ^5K1s_|pV4fD?LXwju)IabNtUUkCTxd#0);FjzcCMA6x~Sy)O~2sht!*4rnm;9UK)xv>gg_GMpO-Pg_Z z)5Nu!*yf7RD3bg*NNY>o^#0V|7qxx38X=4ixAZOsWjP*yPHk5#WJg6&;vG%p{fH{= ztMNqCpTj+ci=N@`t|6t$&q$VO&tt>tbL(_MBN7x}CYXMA2qru7?gitL*>t_R&s@OJ zN||e40@41!Oz`*6KQ?A@B-(;Jp4hdc+XaSwb>8}>?7J4gKA!?K4s1*WTwYuh@K!wv z=oaQCo8KnrKN;ssvVGlBn4a!e72aBFZ+UiR7Oq~oQnvuA?AS~O+<>EFh=8Ltg_k|} z&_ny%5QwhNgD8_!1e2g3*=pFtMF;-ZKlYd5#TUO5UOLxLv9Wup4fsUK zea`Lg)Tt9D8B(^nc2{k#ufct9dL0}+de)EZNy>zV^R@mz$v(Kn%Vj?v6fZ!U{-o^y z6J*NB>?bGcBmV_)UPLf7iXOlG92&*f&VNnPx*^GF60^!b@AAsk-oP2=-;f3y_)>T!fdg0`}vEP z_Fb&(wl+@o(RSg|WmsMa34j?T>5vJ~MPxBL*5()Tql3A}yF8Xp`t^-A1}Vba{G2~A z83CB*dDI(lXu8HXy@q4aiXlDv@S|RWct37gSG952Zhm=fh`V||+db;!$y?y-zWz_a zfBwmT2j%K?l?0BIiHrN^PqLUebMg?IshR_C?oQplmsq4%o=+Cj6@mIUzPNnJbqj&)Y+<%Nq+ z$N!{pj16>{8NZZ9Gf5B&vbzqMNUHhxz)<9OkVy(iX&nm_Ai;)g61$P*3EzGBN{RsR z1VGW7(f6Z9E1cRNzh3E%ZInb(4gr{+QV77((o$rZo>_BkVKN$yvcWwY{H23sBy}A_ z|L$>&05}vtB}CQVUwG-lzKfLy#s`)W02xT#I0s9OGTe&ep#Mzp4}G?F!Vr%FGQ2-7 zVd(d#m4qylWSER{Beq^|y4nd^_~VlgKfM3tez7Gv*h@gARA)RPq>1h8zv2Ic&-t9Q zRWe8!C$;+1b*ekhoH-3MGt*VoyK9nwS`n`d204zDM>N?jA^kaSLFxPWby^v!zkK!E zs_SP_^x{Fxo}-=ukdJ9d$hFmODm0`21&=yN_KubX59^R8yXqfX%Y0H=|DGhNbg|0Jy4dsXta5)|s0zqfC}|%h0JQIK=c~mOMUTqO z8=IX_1zo8@T?n1<=!$FX`)5Hxi-LczIA$2 zRT4B*cYo|-ABTgW_}`eUX%X_|hE2D~89+@0pcDU@fX2Q%jQU%GtBsI<92?sfbPyS~0r=H~xy1N}%c_Jt>8xXy|9%&r|{j0~9Ss@^k02l;7w~U@YcWxiX#RDP)#M`+G=hcZZDub&T2kub< zb46PJqW{-~0aFx6TvyLI?M+ShVS8&!d6LIV1kb}>UA=04=8SV@_Qps8_ok*{V>Gma zK=pfn^rIg)i*xN@xW6~Vyoe6c1Qov&cOlBR2&5~W-R9?y!k_t;?}8usk?(>hpV%>) z>23~Oio5WAr%s-NZWa8mTwO7X^!)sM?U#;iecl}OANQwa&t5-{fT9I9K+~n@^~d90 z2JSCq^+?J?Ah7-G(L(-y%=SOJd?W;|NVolR75u;Gt#5|A?))6(X)i4PBvBz$|5B94 z{wFo7z^Ts`9=SkO)%~hH)MaX84!yC zG12G#`35^kw*}k5Q0QJpk9UZ> zYXnFQ0iNLxv;U>g6OfM?2|^%0ZfGgFob>|&*@Rt?8`0vu?^YG?3zX9I#rY{Pb z91ubO5`l~Gx@=XgM&i<2P!I$?qKi@0pE3PHLO(+0M(;pD^dO|2bz$z`FB&tXU}K2|34b|=PfQS znrWGA`yWNlS3Rb-hn5!B5NEKB!Jh=mp;a0~M!>y)Bi%kdom||{zj$sx0ssex1Hjvh z7tTkSu9d_s@*{kWT(7n%frbdrRW<8fH@>QUUOW!N%4ps0jj;yqP0v6%)P1cFe(1vo z>6FMGuBN``I1WedZ%KQg`u|&Rz6bv7pZmLT+ijg{ksJt1)DRsU{K=L7ZMWQ1kC6@r zRT6L&HmgL<1@YKwm&E;AyoWsGulWE%6TtWM#Vo&X6+p1}1tI6__z5QQAZ04VKl7qp z_j}2Zz3#pHZkTg=7a6$X!i972`Bm`$J-_DZFZ&)!@*F%|3~tbm;5f4s68@kRZ4Em#q%cgPN`i+Q!y;r&g*oMx&EJd?)iPW z{uPkq-~0E!7hXCq9I6}-pp1HP4O;&hH8{wSjB-RllK@oN=0OL3TF&{ty15JU#4MqujRs#cLYRz`bE%(6x z`EB0~cila0j)4o3b*qU~md;i4EjOKk<42F0J2y7gO(L+fv!m7c;yynG(x0!+of@A& z17gKLi6Df;Vr0|-Ym^`)2L5sGJ!~?X9FU!emQ=KKAMi-Y4i0WoVV39R-;F|v~h{)icb05Sbny_eJwL4_JgrM*29 zQf>Q@lKg^NliqXZ&nK&b8UMqM&`l85$!Rl1vHg*Ysi@x`s~7UQ%m{#6-;N$V-XyK) z->Lvq1VA19WnaG?`cJegqL#tbRL@lZ@p;1voiCg_x9{SiKmZQLLVwOGIXO7WFp*2U z1jY03jln#x2q%Sv;^5EGgQ0w*G2Q7Vi$c6{rQ|kVM5i)iDc6Sw(62{$MnM(usi&T< zs<4Z2(6($6AV;w%2Lok}Uo?}f;aFWgo;iC5eEVPeK6t}@)glNx)%m!qS3vR7oTRcr z&K-1r55O_eo6E*<$hVJ>4Va$1bTHrn^4G^ zesfJR$*($}`1A4CJ$~#seAd19!qW0m7F*+eygS%|3+G>eul<@o2%rCXzc*1-Y*k^z z%wyX7Y#wrtgFoT~?*}oV5VP;s_F4%^4^qX^#>zkYH^{f8BJ?T#d@q^nT(6NV5suwn za(=5R3lL;!CHEUUQ0muaS5#+=<+kG|j^|+uNn5DS{rY*7LERB5CEHf8}IhW`#I4DiZr^%3Iy5U&rj=EVjau< zuC1-MFwyI=m~)183NWk^fO;~3ZbZ~GqCg`f`VkV7_kZAn)nfcr2QmprU`xTpas(^N zsE-9S$BrCPpg_6l6RB_G#*)}G;M>0Kd*MI-=YIv;C}V zz^#kAPo9t4d@XG6Zo(h`CPBXw;_mWs2yfm%-9+VN}apXcNFhpt1jTzCR_;+<~iVuV8 zR3MY6@o1Yq-)jV*77CN!vG7D_%lr#JyYEthB7c^Ywg6^lv;rW@U^6djOxM-)|3}-~ z8R$O_?s@26sr^y&v;bHC)7<}$KFd?jKC^FQWLIDG`+MV2!0nw~qeNAoAP(B>7$QpP zW&vVlz)XNo=8MM(1YtdH$UK1c^|e;6!P3$)NH(qE0dzPEzW!E}-KjndHrAli>-+nD z<6ZAQkO@Fo(IFEkqlGnM3404#*^jjDPeC$R^?rQKG&8#hf96~M9-KY<6YxKO=@;Sh z#UV`fXKS>G(uow4NY3<)Y0k#hCS1OJ#rU~zZEcyGb2HS%ij5R>4KIlFVCk&S^orhz`m*7u*)1QO6xg!=vra+jhZSq9W zj1n}V{s)np9%hgL#k7}!Q9ANP=RxeC=dW=;9U!~_g@BO2oI@-InFK^keT;~0na@d$ z69C%TP^%4M_S`*p{z6iXGatw#Jz@gD;|E^-kNmzybi5Fa07y4Lxy@Cnu3a%zoNI$T_~0kuQWaEKq-Eco1J^rWNLmCGiH#(Mc#=BsqRPG$ zZ+qLHggfti9sKl9{SZ9z=qe16ErMsWHqu@_a%L9hZ=Qu+Ll9gsp5=T_yT!ez7IRJ> z`Cmr43ZaQl1c}wF3i|%L1kzwhWuj@%Dwo`z;Cb$Pq6YJDzrBBJvr1a7T!1h8(l3B7 zdg~uFpDhH=5U{+izp&c%9~{#$%(O!dsZ6jy4dSj2MM6$N`Zst8K!gU!$C1~?3#x(c z(|eG>CjqWCM2Q-qK3OoS_%*7NN3e29fm{cld;W#=+8FIt$FG+K*b&`wRtu*&t(2gA zNM2%@C>{UfNAnuCxw+==J9+YC^F`{;p#tqh)F}B})Drxg5(4!+@pfDkvJ9{kVsrcX zu_vF}w=uDMfI0xa4RD7{00tu{rwF=5C%dwz<3{b0@wwpdEqEDA8H7WwzQ=eObOzwT=fXz-^@z!l3! zR7|@HmFzeespmTw+3CWgs6+!4>|XyhulYRqtAFhW;1_=3-@?1!{XST^x&!^$`MN?8 z=O9T(c&aNH*3v&!-PqY}ZEYRaHr8Qh#}Nz%0o?Nb7kYe-MCKBk_rx1B`4<-EtMhaT z`cu;?gT;nfcTP$!U%6O4cN)IsTmBEY>C8RKfXD?B2AE5y09T;b4hRp_&Ill8{y})v z2L!&ZSUJ5d#j~YZ4~WO1t^8Siu5`~JQboBA_z>CyK^wR}HVWQ%m3(-lP6Bi_kZ1v9 z7Hf>|LI|IWa;OQ^dJHcbLbQHMCg=60=S1$&;4mm3^bE^5K=g>3HnFI1MMv7~Uqg1~#`~duPYAzzjQo!ac(8#oFyGQ_ZN< zeD%6~{<2|8JUP=;@$>byvU(LZHdo>I|GqDTFZ?}U0o~4&=rp@A#d9y!ZhtZ!GQpt ztg<h*&aXX0769Rsw94OqgJsy z8`<^rwXb~(eCKz*5q|5pejeWbD?bO%Jaf4^M|qrd!Mmqn{5jOS)go7mRi(Zt^d-!A z>0o3mr$=TS&^ota-E-x31fx|vx@v4uqm(#S$&({&I#89cy1EK0YggdDH{1hX{^frf zmX}W2SP>y91Q2U8%Ihz-{e=c19Em9FgFXqzKnlJ3m?#+PcSp=arAp_K8y`#rNl&1ti-C=-L6YEf9T<4A()mJKSf8Nq`v$JZCG+Gwm@%KN{{-NnKCfUj!AN)JVhk z|G|4kl->s-4VZItGqAq4;y+9b|6|5Az^$!Ap}|jL?as3P8xr>X^XlIjk!1vJ+KgX| zq^SDk(I=kT*YWYdwE$LD*G#W;*^S!SB%oU@gnS~5F!Y)zqxL5~#WUP275qJ!34%Ht z_nKJj=e*$ogeS)2A6|G_CF^SSS$X4`Z+`Cf?(TIdfho$eyX+0Xi$HJ2FCf41?svl< z`=j3k2XAYmB&R)RXcQueYWs+lP0G2>Vb;Oslz(Q^rr-bj|0ulW^S=Uq>plM+-tmrK zf#;vUSOsYomYRpDslIne@?%*m{p16t@s!~HVIjLIRbRe^tP zeFZ-IwRgau_ygYrXBqCdi8i91h;S){B&(s69L_+)m|3{U1%1@$Ko&laVRb~0MiAxY zV}nbenW6^AR)u0!jhtdjM_1KZ3RspDB@4kschX@591cjuoY+*z}3!=ReuPyTN7?CKY zXM%hEC!a|nZRY=&hZ~I&c|La_lCH4ue?UsS4}jH?fXs+2!~eU3T_13H{X2H-c+~Vs zH!jEqySpIg|6>S0FZ5sL)&3er01fHdjsKMzS$g=~=6)fff zm}!8Kw*h^&+D{+9{}b@WH@yDf1pjfbLGc2O4YfZuj}A4G0~$&j@s#;05%}^i|7Q5I zFZ;vrz$e}dANb&}!$&^yNw|1vwOTN{(617KndzC}X&wcBXbb!R&2YbZo(&w;V!5@w zSq1(L*sN}+PcFmT{?M1e>tFW;u(WhMkiih6Kqc99keJrgz6+X=sH$**pake$CJnl8 z?*d@xPowY2yCfj!JVas*G~uyRtpq{-iw%tYmkI~~34&u{Mx@|;R7rpaG}7q_-KVJ^ z{N$6*B%hm=D2wh?@?Dfqg7rf|)Nd}80Go=*#rav-*$D*Z)2B{B2Rm^Jt&1mn-V6ld znGODwukw>iwn;aj`j?eg`38|b2CM(AtgY?qSa{$#0K7fHbDiQMa}X0J0qn^>LX4_^ z91j-DzJIp*58L$Av~m4gS-IMbz5*D{0482-*>ON7arLKqu-23S(B1=oxad02o9@GC zunnE5xqt%v^4sCQH@^B3fIav9^Sh;S2m78S1?b*atQ1)KL=7zkQT3-S1nGi8+62#j zxL&nj-*?~dg*U$O%izkDbMU}}?}v|l?0xXbPd*M;udY=|B3Wg#S@Unt7@ZVRtAHY# z-3UVV6|9}z9}HlpT99{kwyN8vfppKDT81xp%bVb}uYD8TboTC0t40vBRKFuoyGuy) zVuPqlUI#$^p7E!rOcJ0gc_HK@cQQred2zo&#c}e^e}0|FBmq*O$d3_{Zd)`}nu_oj zBOyfD+(fwp+H>vFrAt-Ou^OH0rBR^l^%o=fKlNA8=LOVoKaj8dJqjQ;V};)B!TLrB zq-W0F)V!X0+CgouKCI3+Dyj84)wBIAtpDhVE(T07$#o_rBtHD9$M$_}Jdg;$`HQTe zwpp8!*b{+y03GH6bUJmfDy#Jm*9`s3s*6v!*}3_2LCd_}i4!N`nP;CiKeOcP!om`) zZEjz;z^@XM{sOG6oQFV|z5BP|+yCNUFe6_Fq4K9m?xcptwN{6q0tz)g9dE5$6avSEw8D5zbTA8U;3sUFi+N}wSLaEyP+{?}(`FqA5@A9sFs z){HTGSid^Y&YnJ-t^QF-Uw6#8SC6nlrk_6s`j7km4F~~O{)~9C0Fd??0QlsikM8?e zc;HBY?qqoE>1W`Lul+24A45&dvM>C+bq4y!2E(cr=wBxb^$&cqA*`8cfQ^my*3WwK z#Bq4$nfk(YhA|x`D~?8c4|-z`beBIDzjn1Kbh`CS?C#DEyyMs33E%h)U-zmxzAtNB zlJY%$Kj-hO_vkzj5uH%XiQ5I5a#H|}$4*qdzM|A5CJ%Re!du!Vyy|dL~$oc^D^K&NQ zTU=a#qeqUzk)y}q*pX9k^w?Q5qDT}}1Jy!I7&`b8QqOWBDS~^W2@7mswWIFa=aOiO zB41-=tuYFax(s_~%A~L~67#BLW0bn?RnfQe99^WXP}0 zZO*5keJ)u8hK%?z@i$3`Q0xB}?voZi&^p#X+2Bvs8$!YV)p@kDyA{~~r%po8jzd!> z@cXt&b?5H(j)wljmAD7!zg;MZD}R#&Ach3MexL^*d34{$#si4}xNP{1pY@t>A()Y< zy7Fgn9HWfaSmw*cqZ#_g+^lv{-^+My?v(9W_+l$|J!1D3^MM ze7%N~i1p2Hy6J8>d-g6b+e#5b+H1IroBM9bef~31)Z3Ty{8F0%n49Gn!B!CsL687ZPw5C~KZps1L@)VXBs2^>5l{*c39=#uv;Z@ovr+vp zlBHIOK$uK~C#oWXD{8q5dG_DH^xXfC?02=ZViAO+Y_^g}0GFjFJjyEGsQ(H0|K^)- z$sne2@UO>FcLi@CcM+)l&<6cu{(1a)*^7X0u|)6-FTDhpuUy^taj=jz#X-8UyrZ;6 zWae^hbvm*#mr>sfLuQ(Dg3AYgY$RN4gW%HYU9?9T$@9*|8iR(C+;^+~`_P%k&ANvJj`teLA3uYoIz29(m+3kcZniHxAtFKl=Lu0aJWlaI+}& zeh8I6kM`B=qCf@=w}rXcs+iabm{oO-oIP_Uw0ST&v%MFAv8AroAz#Ip6cGSrysq^c zDMR!l&rg8lT<3NKqp_R-#PI(oKKalAh=V=>IC$Hot5@La>YB>hhqmXW^q||c{$u@a zxuE2Ne-SRIDGRsH%*;Y_O6*{>Q=-jPd$RX>o#tx4rQ(nMpp%TS=t6IL#%Kb_?WceC zzr8At^W;Q8n(PtLyf*E*4>Re9r1mGoV`IssoxWVG;qL-tlNx0R0=Z;L1ew+V-~2uD z&qEb6o2<8Uy7-7u00tOqsjC$3)HRJt_BMGQgq9#?K3CJfAbRRetwwD4p3SeX6OHJQ z!gDV?4{IA6Y0zZ(@9uQ;`gLG5a?v)a<8_LE_JV&xD%!1`aRB9Qd2!zGmfUvglX`*4Adrg2;WeMU$m&TG)SQdkbc!r(k!m zc}+0?xV5@Jy8vrf&KpgDx*`Dh-QWEPeCn~s;NE-g-hU@T#sN=b(9|BaF~I=DuWI@n zlKF(3k{&hi0x+~3P{8!LHU)YmI!Kxa($x!X;X}u9aLrVcNlDg@5T|8-^S@x6~?8u`iX6#YI_6m~Lqk6HzA7MJKsC)_3 zm>ngY!1(pl{J#*AaIK6_KJsXC4v%)X%-p|p{;U6~QH~-;Ed=L-d_`XR{(t=X&R}gY z3@U!N-g;}YplbaDmjD%pyOOM5S*?HC6YD<|L2S)FW0C-f5_?W&K6wE8{~iILsQ-6R zZVx~Hgg=@2U=Mb7jY$tPlQ}a46bmTE`1!R#|8ir^cJA@}96rX-?2Z3+>eOk`2H36= zfSx7ZkdWle-BOrew+h6~-p2&Mf`y8z>|O4!pZe*a*?%YiL>erKm_x1ZE)p7iu z9)u88w;G3xbl@>l>AO85`enX_k!=m2mn8-vQ4A80u#ZdOcT{k8{8?i`od~wD>rK2* zKzt5RYl3Gh`uhSQ#G!l_FI|EQ7cc6yuUao^>ECJ1@xT<>MA61F%S2iC`pOqr zUB(|^-y{K)A*}&r%5ZU9QAcTPOE9Rp)?-(ZLt95m_!q zj0&J^<+x{xLqY->AkdLA*Z;?`$oQYv)>h$JHvWm$J%<0e_phr#4A6h%ePXPBW#!LO z!d98o6yQ++o#{`TB8mys?!Mb^zeArV5eOOfdtr!!;cp~>js~0GGJ-wjTF0;9(SR@= z!hxS%E^~ItAN|Aw2O|FY1ON~4?V(RSu67D10DSWDHP9&vVSO1@_j`c;g0JHp#n|fwLTL?bzVeB0E!;8Qpc0Wy5eB2#ti2?NQKhXf^ncuD|6C2P9K7zN0-YzqUTL{Pqt zgwUH%0X^xEn-&0t4#<-0d>LTJ^nhV?p1(=y`{(hyn?S&WMMgrL;xXPP{!yPd$Ie`E86F>Q?J?$x1 z0AoGF9tTcMUZXM9cvHIPDmt2QBmpyM0YY{Vj#8;%YI|M8jQC9k36MTAzAuegego>_ zJ!cFos?*R?qbQhacfP=>NP6|jK95KEz>n|6LNhAh$JMwsK}9@2UH#7esHNp2(A-$Af8m~$ZmCzB6pYnBBw_oxA3Z+bFgDI4{YK~rKd2vA*|L|+wdFP#Due!p1 zH^&=jRQsb+B)^n@&4l%@l^MC%;z_S=wVpD85d`7$Lm&Ovfr@_zngif&4?glKl@*yb zfHep*A|sfoI<6V|7q4S)b8|C>k=k|o14*V#9*(``=9~QQeDd<=>`zbWbXq*wT(E7N zfP^2QA3r@aUwe5QEBnfcs3p#WinIlv5sFZ(g=E#Oz5}8JNA8G+0L< zKsFbY462ALSb%1$tG>VD9$>5JOiFZ%Vfj2O5u@I8_N5zwzpp|mN6N%RgeXY_-0{UG zh&&(MG3t3INrIf=kJ|@wH&}jv$3bGr1c=!GqO!-h_b!tF#AE_MGAWz_qk9Q9{dtDD zO|kG#RsDCmGfMb}laEdjcmurL72-4c%HNLwT4z!k8RgXYJ&r8Sn=xf~$JsMy4bxuF z#*&&)sW~4VqZz>btF%5TwKfee|OUnTT z*xrPN+5R5;`}vALOUq&uV0O_EhvfG5U;R~hmbJxS^|e1ua38&l*MGUM(EL&GI=oyq zS!$@#am;%nrUFGdc0XjQ?eKfVOMnK2yFxSdb5g+)4H#$dox46Us>*#5kgM=f`h{q0 z#Pd2L4nmv|jFVH!Di~(gl#hJ;6Up<9uonk-Dg5ITw!*A)^;#D=03O=1^Zs=KZi|lw z;~!26q)*8`_uLaCgj3auu#c+*VB6}U8j|OPsEFU_x?{9 zQ@DeN037iDo;!CAuB@yE=4o|e>{dwtSGpY*%h)6Ip9}tNYH9qJ`RasRUS5VKYZ&>< zEw|jFrWU%@dop_9GUJkHvObX45TMq_OikDJz)T2qe;5r%@Pj|}!>^t|Pm=`tF@5=1 z4>y6tDdG!I)E}TsKS6U7FeeO@f#*?<{l&pqOc;#&j=8?zwKPiFtNJFCAO~y5(##^D zMmhr$H9$e$3sVY#34p3+-Y}*IlIEz{`AXVA&9B7HRx@4@d4S99~4C#ZdUKMiw5g*F-X`ep49P`TzJmjxH~ng2b&& z9Au4tNfi8Jt8T9TIl*A!U;_QeGyhS*SB=e_;E#N*>T}P{&%so0${4@#_mL<42S4_) z0~PlU5dg7${Go@`?;Kb;0gwyNwF>?qVq^91l=f!lW{r9lGgF(X09F&Ax~Qh7ru^Nk zB)BlwpIq&4qSc<1`&c~@u%#~K_q^wK-~%80(5tWNCu)pl1e9q9u}${W2~X; z{aEXtg|JXsBApDVIe{J~)lK!fhD7bQ*SzL6$$3DTHI1wPt*xz=o_;BM_`28M4*kpP zz5Zoxe!(OGr4S3^zwcDZ$Ndj{^1#KtBHwd9c(?l>dRX*>2)4GjOt#BXmPMy?L!f`N zKzV4Y_M~?3KIU**2;(w0-+ZeN(oCFT9zX{XTAY6@fu?MH40&nKlru2Zucs7-yIbm6 zKkzSqsGbXc6;=O;7>x^|@T`xkeAGSnr1+17Mktd=H6RM4Dn}`;+mKwyvN6+wj|UM@ zk2yqK78&d^VnNy0)ug(d4u0GQXzaU-eWRT8l0c7&?T>LgK$#-NEr%T3tZfJLh=5Ei zbQK?XBc!+%B*zyqI<~p7!$>L6e>P0p4irrRP{SDFLytZRSFWx^^dU06|DxLulM!B! zNPNZu6$#U;>Dim%0@(h)QT~fo53c?<8N#<~5)G`cHztWvy&&Zj2ZFAy6#; zSp6@a7Kpb_m7wq%%g97*r~bi@eH?ancMn$FJ467&_WZe*;L?@LO6-jVDHsXp6nLGW ze;r(6K_T{F=aZ8!9%xAKyLcBh+b>o5q5$8_j+dx_#_{9%e~hLJWD*ef_+tq> z<#>px>tccs=7@o+wS)QmFG{>58ofa{;WpbKw@iIR*tBil{y7Mk0a@GQK*>$rpTq|Q$+`#(JYW+v*e>!Q1+X(e9?7qtV ze;xxYOFhl-z7PHGfsA{HQvl+2|0f@|6)<^Nhy`~Hkm@|L$3g#%iyo+IJl8T{wk%(S zON&d1b^xh(PB2}a#4HTt{vGFjBlexcv}=*P@@C9g}i^fs!0y%}}C zNg9ffJaD4pMbFSx`E_+&8q43(&;2vn7q6Q~mX<7H8iaUW^P11f7oJvEqF%@9_ukxG z&#MDA3I2$g|M+HH4ol|;Pn

v(OalEk_H^aqS!Csed0SjsFq#0d$GKd<-9l*~HW8Y(cem|Cz&PU9 z1QmZn^*b}aZ03on9QwzstggZj|H!}j^uqj-+|rUCH2WruZ`70izXsb~*$P12m>2MY z6dR%(0+7%RB4HqG@&(BD0wL zaX?U&eykl3%!_iLJEzi_?k~(22Ovp?`Y}nOA(0-L1V(C!{NJTZm*F9vWQu$LgH2=V zRdjj*2IpD-P9bc53(t$_SW=*y`>*x>(T~ZM8R|d3-qPZ{K_K0B+ikbQ-0WN!%Y-!9 z<>aa8@M{n2+5f1D&w+8RHoq}CAdYt}Puz#;sc9qrW5|EvgMF|{o<;|Z{jU*#!~e{G zFI~6@&%bysC`eT|9!=rQx<~>t?g9GOm4Dt#p#FEhx^Vct7UmbC?A8Ka{%5EzvROk2 zbdTXa+QQsS)>%;Y_uCpnc^ z?leM11CywCs_I`k2nzUL9TzKDA(itC5-=M2%HL@Fmu1BKUoyd8-v8OJeJ#XZloTV) zW}j5m|N4f97~N|)J(3di%zrK!&@F@D^hc#o1FUWfi?yXXCpjkAmjT}Vt@pkEK*qa6 z1R%40JP zKw%%J#D2h80F#HzRrOfC&ho;7Q6zQSnX@;UaprMHv#^r}5;>6ATDI?h4Xl4o9!x>C z!0i9|TD(YHF6S>@f=3>I{J_S$1MdY8-#+%qhiX>4Jwpb&17i-vFco%iLg-)2{3_CM zGxRT)2TlN(sKSO7MP^P~{>m5I@#7~#KWk$hmgZ+`4M3W_zdv3pKx%du(4Sj0T!50o z1@+`pPs6|a_y6%T=HzaRDUEzP*vtLRJqB!2^4n9`4=;v_3Sd#7#yL3x8ux{uJ@}{E z0?lK6F`*734SSeCURS~RW4Ht{YN3D$BDF&(3F>Wu7d2W$4HE-xIs#G{C>jAoiunSh z)eXgaDBb^t{kFEg1|Ry!N0UmMXa0@kuTlLA*k0Y|FYM?Ynu4ZIglghnP4uf3MoIMi zN5&>SW&R&ot}TB@WpMp_{pY-{eazU&jI;0$^9Dv`ngCJ;5pV=Vr&AiS{&N?1Y5$#{ zuZh)+0K`gz?|I(`#`2&Jy#Nl-wozrX4?nIQ0=G6djWAFRpA{28{}~_mhTxw=3+muM z14oY@OKS%;^IZRO&)xU<_vDkAxeE((vtuj%v1M~h1m&?n>~zhDk=%a#C;k&W@x+s_ zNcBG{J0N!L+iS&66TAQ>H-bBTd?KIW1JOk{}@&OnC5m_YPx3WJ#X11JHf$i)yEs(#2R2v)au|IT|8 zf&kt1;8#0mfV z=H`Y$0g8+W$D}a-B+Y`k`DG(9T8dV{a5#eR{s-UtX(QD%vj6GYpn7Uj?X$mk(ik)u0y4fHE+%)Xj$mv6@`!ksCv6kn>H0UZyG*{pPmbSgIi~KENw0 z9)$e!AvY$dgMA``l!yXFHoP!~+mMq8PJ9H~gTI3kfk)*P<>OL2X?{`If-8U>Ab7S`v(&i1xi zBa)FnOLQV^M(i*b{G;lBs#-sJx{6x>&flfxP#`?~=woo<(xt-$;BW*`-xvX4X1n{H zA+GK19m5AOmH$}QzX+Bs#J{w!8y4>V)RYPSM~)s97NucSDZbr%&%ORPzHs@oG9gg) z$(!c^Jz=KZS6JWA?Bc2ZJPfzj1$l_z6AwIiLt6oHmfs9mT#p`oT zD#zgH`pKbj;d_7@+z5}#Co;w#LVSmnwKW4>$LkhX{-evj@P)p&3vk9Pj+?-#*ZB?hpZJ*!ZOX z@W&reB{R$IvM3P$t&QoNE|il)|M4Yr^w^Oqdz~}mE3y4)ye%y+!|Btf0}5c|foGHH zg=?$$oBujJyJ-4(v1Ra&{rew>`|tn6rxp5d|9Uh56yNeJtx4LlmoQWLx3>YP5iOd8 zO@OhHuet}6(T?svH-GYc;KznJe{6#IbEAb4U2s2VEA^Z(5H_~QR3#14o;Y^$%S#kD zwFbuRpC)9)EA2J41aj}2F*oA#{~f>au7qsMtodP8{dcG4l$5V0`6<{Ry#bJWO~blp z$G}nP)&A3JCxZSJLXctokGXaimzH3j ztA9ViP`}vv`Z|2@BOg2Pv93s=-NPH-K6wBAK`f#q!vSE$D&_;A6tjpb{_#q2?a;rR zIy1AY(^CfG50yc)%FVs^zQ$i5d;xP3u)HuAS^hT5{pJQmayLmHdWpRn&~;^Z=MMa(4wh+447?@)o{pswB}!(S!>xw(2dP8*{O!Hg+&CzP53 zNzYy)4N|yA97HXIleTFPQkiD?7!>40*7`qp{(N#(4!75;=XEXgPgXL#@FYJo`sdpa zGWeHvy>P*QWGZFj>NgxEW5aBs!-WM4|F}x>wp(wj*Qg}8ptq!Qtswq&V{Of^FHZ2M z^ruWD_%n|6AC3G;fggtb9hsWfZaIqhoA3L8k$FGZaqbWSXxvt-lk^cmW^;;B46QeL zwIfbO{A+{$F{);c9y{(?!Qa=+_OY$j5Y)z0eknL08Bc(^u_@ zOkY9D*T;b>5x9(kTa&_{`dwDGEn%i7+-Ab7G;qD zz{W`dY?M{5U;L%>FTsaDnpUl&!Hx;s-Ts`~olfev7XRt`7C^_213J<$S+zfM^ZpL{ z&zy6oPaLZXi;VywSFgp@e=hhdxh&gmU{N&=yji=8hTuQe<~Qp5yX$4SN=kSFz_knH z<^HbU`JKZccbEXQZy)&B$JL_9j#W$~VUGZ59CE#(e_74U&dho)05(Xt$(MP}y|1Ym zzxHBbna!h1^EV{$%gSuJzhI!nVKf!+OTYXp@T#qp(e|^UBY4SEmQ-T1RxHbub zK~04`jB^IWMsz8D2*&3arfq{pt^Y~K_!`e;NJau11Ac^5r0suDckl6hRJkyysp6vB$wbcg*=_s(;lzD_bw#iEMr| z=s>-0PMOa(;4wzg`+ne&N8rVm&L0LiIMe}Xy*={86L9Iu6%~Xy31CjwSD z8;{n^%+A&*K!Z_;dwrgDz4OkyLef%QtbD<+zgO?opFd)( zN4X-A@AWdRGJ8k4deuoNtPD? zR|tp>@R+wt&LshqDi!7&|GYndeI{Yf4YB@Szgh+VmDRQ68s6PrGh|%sO!<~v$5#2i z@81bF!bK6rg_-GJkNOQg>|YK?b^kw_jpq+``s6WK-&pheh~f3uz5Wde!jVOhurP&_ z;VyVW-^jOE^^AY1T>Z2cN;~V{?P9L}*;<{8A!9To8k@iRuHQV2Z-+VnlU2U&XQGJM zYnvMz1_j^~Inn&Sj?lkc$T+BT_I>o&@kX>!E_!$0b$1o;r~PA?aeHieQ8SCLsoE#? zYaB#7MGyM3ONNZZ^T=-Fgz2w+=igG5!(J-#R->NlT>m$rGrH1fD%&$u{%8__C?$5a zu>~mGexU5K;$lCcSzAxGq*lPZC#qyBal+Rk_ZgdM5pBrwu@Zyha+)0d3!P~88I z_eJW+nM37JlOvOAK9A;2q7E1*2$Z}4NvMzD-BQWPRF zSYKOhtk`9)s5Bmknx(UI(0}za7fSPUbM@$-AxnmpzW=a{T!5>SF6dzu(V=z$BjO~UN!zFO%nFja;LHP zwaN>}i&sQNR^S1~fvKr%*H!Si76Spbq7f;a4#`*=MkWOq1!|@5pBrs!wc!mYK)iq_ zE|;|;QNH?*jTi`2Rh=WNLShJ%26;6hL9t(iXm9zqMfI;dPIA&Fn*_v#0zqq8Ca=Y3 zpMM^HJ3I2XVgmP#K~AM}pW_#!i3nwP^Rj($bQd|DWzp z!|q_$DjU`uhj;wuZzbRFa18KpYuvVXc1^}8VMh-B?7z(t!QQnGuRruJpWClaW+t>8 zlPEw0rIPshwp(t6BS(&kDtz6{?$(N6pk|BnX0FtN2taF}oE-!CD00n3QYwH{EOTYSS z$tWII>%-l3Q~6`j_4gaXpJDtLrU>W=?SCi6R0lsX>Stkiw##)^zwvhZ#8ETzFF(hd z-~49i8czX{)L_n~x_;mFwY6;U-xKR!CM zK`llA4!8F0y;g7AMMG8u+}+-Wjp_o`Z0C09zd86fSO1b@aPs5{=yrR?(;B0|L79X4 zdeNWbi+7{Ch>ssxngHsbB=9#|2pKNI{87UPpz0>KfANF=3f}*L4^9~9$8zmok>F36 zaki$+L^7Yp$=_g9@#;P}PV|X!ypup0pc)BR)CMXfGyaXizX`GhNP7J_0V0HEBZUN# zPg($}6mV{wGQK|*S!!!3hzSdofD|e*$$B;9JOUCmKr~hQFTVX(U~_9bIZDHw^(xR! zLDB8|=djj&x9b@H9q1bNf2St@*+jt0{Mume+5jwc<|_Yqo15uZw;40`=eC<~z8P-5 z>E`6X=JhKIlRS)u!^Z3CT3P=@X)ElAt^Sz=$UZJ;ofG-?TkrdTndCa$4qE_wx^ds= zfkz%y_c02LhcCH_%8&~;@sGLRdrJ9>-FcFQt zMgSo*lOJ}KCr~;FS*55^@E$v%5w}VpQtOLbPb9`qi$)`#WD)=%8JBeb{_?N=I=sY8 z_2}X-R;c=lA$H|xyc7(`eOxu4C~*vDr=QLp6@SBf>8&5hW%^9pV;b`Kh2q{ z=vZ4{RqcQ`f8OV}q=_Q9*o0_}RaGI({O9)Y)V#o_I+1+eGsJs>Q|Zg_PSi9VQp<4{?h;T zSK#W(%AN!AMC|;RS^2jHq(mS9Gc~jb=$`OJiHk2q$130ZPM;80kSg;;Emxa-pRsOy z5S#{Oc`fFs8~2yu5~z}2|5%{n2jrdfG!hW|DZ+)xGGmU}Opu!~QY%Bxjeb z_KVs_;S&~WA|)CTl>cG|#i@RL&->mFpJI#Ji1|7iZW{~kUX@ta`>^I8m}7$##XvKbn;ZOX2$B!;ofpnl$2jB39HyUzXIJlI(!s=Y8qlkYf zM*eaEKc5gx!1}ivtD*Af-`w21(HjV_L-3)G-EXXa54Xb>z%^~pzIYCveD)b(RY|6= z#gGyyk(8#OF&_HQl|Lx#U`?N|y3n~5u)KW4T;MMFXP#)b>E4uT1sENJDtS4&yf}&J z-!%n(xv^9*S0RJ#HFf`U&pi)+`8)o4G8u4vVSj?_Jsm*Q(jI7(^Cfi*W4oXnrGZ*d z2l5F9weAv0{*w~Mk}!rji9^gJrejTjA`+p{8Bme~Q8JJ~@tI0FMFH~3SHlIAb=}Lu z{%QX|Z4*p}?BwSDbN|LhK@WWLA^5@IR50D_rdrWhnqIoYygS+Xqq&bEAaw(sue@6)II*=Nh=JD+4**6FNd z%2Z$ylL9G;BtS3&AV`o1Byz^?Vsp+j{k^L0*Ztn>*FC+9U0@e@1vY1P^7M4Sf7QRL z{)KCV6Zu83zQYp@{`lGfB~Uva z^{;gZLaP4xd!klKNl7U=G~#!{hdlYrW&>j34uFyVjkCS5eWygBU`rs@1E8)nSk~-Q z{{V_Guk%r;$~8BKiu@8WinLH2u(qbw`x{T{g1kIe8$d@7Wu$)p(9Nx^4eczT_9B4% zq6&K4B+-}tLw3FS7JTW;f2m!7;yM}A(fXem;M>~Q)lMf1k9% zT45;$f%*n<08hv?B6(00C^>lHeQmMt)6y5e*}576L50v#=M?y0U@O)9VmifhfCEmm z$^yt${eg;d^-R)$zsvww8pgm1d^bxSK;)$cf;6^2&_@{>M*rCUhhu-8nJxa> zwfmiS;ONN{2E)RnfX%Lmw;eoo4B9$7rGt>O01k+qJN55LvRWd296Zq)8tO^tA~!HD zSXsQ?*S_M4E7_vpR}5obuC}UNaa7_*`?eiED?nuxa4{$-sesJXL||yp<}F*{@BY_U zXPAqheej>|XOIBiR$&0Ll+|e{PbsLkh4H8WVbfCRH?#$Zfp>%iY7;iT3c5q{P=S8FKd!G<9^4-$D^zMdFz1SKKbiPeCi+f zB}%53l$O#u%*X!nb?WC&KWp$y3;(VIV3{qRS{$=2FTW~96j)i09w)K^V9l)RKj1}M z?jQ|I-@1iYall1MiPIJ+6*XzVAOBxeR0QkSulG{{=}AfjU{`?U4oQtx%F_>w38?9X z;Aa9wf{H6hDmbHb20Z+eN8y|Q@~v3{WqZy5U&jWh>2=Gpy*h#TiuFNAkr)68w5{OR zw8i|b5|KI+U*r@(m9Qny0N94vQH3c#$u0)&CSTuY!4 z_z|OfUWyO`_CY5ggmKV3MynF2Qvbrb(B0Dw4?q4hlB`vaFK5V)1*yDZ@3m5t@8{s} z)&L|N&`-JoK=_s!cc2frN_*+F)90Ud*#I5*=jY}?Rb@HV3UR~s7IgybSU+BP*qp<(*VS`^Gc$SK$QH`ng&fz1_*4Y6K zH8tLD#ArGvCq?vAGGhF0)|Njp`fyi6T?&eEmJ z;PmNJ(ACxDr2;C-D@kKuG(@E@8$eFy*uf|!ub>phM+P93Z;^y4w{L&vUMOYX<1@eg zsTt9kuJKjozW)bEL}zo?-O1_%44wA`jmH<0Xa#M$8A!n~>>wjNTgff)TOr>LEY zQS}cXh?5B=wu0~$7C2J$Us6Kn!Gv3|$Wx;~fBG4NZ`o@Aj7?{OeqqN>iR8sTSInmk z4h~AAN~cTxOF_J4WgGZPMS%5n^;DdL`T%Ogq>J*dW}ZAR9wg^w2vY$S0mmh(un%D7 z!v%Bl3aL9_3Y7u{xnQ)f{=?VdCyzWf0|1?yGd$LNPpd0oZa$}_4u%RD6qUuL(cBj@ zf53`3jv@Sb_m}~VQ$J+|k39tgG0rfosH33?7AY2;QalnV+{)Zo7 z=ipG_d(vc02G*(kQcp06D*jUmui8K5rT`LL04V8*0AaPijfHS-uRqcKuHqjt0O_>$ z*siUvB-PLWus~102|@XE_3Aay*tjVASm)FV17l+>MP*YVor@${-ZhkSOa`ItnY(R1X@O}UG@BTjE1VjVs z?B)Bjw;zhXmkq(6?!v}vt1AYSFKQYX} zdz^uPiKnE8;Eyb$L;Jg%EBxa)1kSi$M=m$*758zGAEf;q@Yh%U7Z(;lSxFI$jQHxE zrKP2C%{A9%2Y>H(PC$QOZ=fA!##R5IAM|7Klz|)lms0LO4U{zbaqso@f)zS)|{&H{M>7mA3Q zo0~{$8}s~Bi;!gjTDoK@w6(Ret&RT1lfJC10!rBP`v-?+NcCqg9+aE_Oa<6|Fv*;N z9Ex%h-s8UVKmHe8|BX+4Y)*f}=~4c+_Uq2}xud221^QchKidwvK#FQ%C{QYC0g+;l z`bL&5Qn9w{3fVFCq!sAevn^YAO@EKuN+qe+qb?MRi760Ux#W+LZ?mQ6OSgF`99!Cl zwwHo%qf)-hq~}VXJdlRafj>t4Ke+!P=;`eX+@F~ogY?807`M-snjUhL;o{!{h8OaJ3_WCB#f*KDY-VQZI9{p07n>84xgKEF#OJdO{=-LL-+_Y$tPBG%H-@zU zrx<{WRq+FTeUt{E{8|(hsv8VsNg4lWNRlduEz057*49F0WffHc17vGK1i0#|tG&TO zlnNN^hsv@N$ji+MMEmEW6A-NtP{tOR9C8B01%o>Q$OMErGIQ;;M!x(!aG0fBH$Xhi ze#Lpve;>`5>kv23QrHDGWuOCn^~J)DcHN+%!0izo0NK_4qK>05#Rdp6c$Q|LMa(T2 zVC%yV?tf4Z{!?RAB%4!E;%WSIsvmRkvdnMFEd+G_23LWTNB>0oyL3MX|FCx3=7u^L z8y)eg=h3ihsD|pCG||7pEOO>yaG*~H|2Y!;p~y8SMI(Pv^WXWdQ_^wu_*1_!AY~kY zIb49*_UudYV2Lre^`)<`Pgn?p(SM-YRRjKE(SIPWa&NAyt)V_x)CREhnnKc2Sdd=; z*Isj-zxc4lVQ_GOW_~+S%sJBU;wMpjhJyzVLIFD|Fs~0GF%W-!JkeLJS`7ye9-zOm?>EU7g1V|oXzl2lHqCE= ztjrbHk;*G9hq2*a5<5ZaQ=CEnwSW9NMNNP5$A36$(Z6l$KB2AAM3`4Wzd$rg1@@7T zQ@?<%iT-Wvlia#>p8BwbJ8k|@_cfKy0*j{wln-G=qzl3-`DL~M{PD8@N)>;+*9^NJ z#w7UTZr#uC9pAPfORX7B!&}~5h8%VMfB3*dFftk(MuVe$alj9z!bs?c{iC+NR7#@$ z3Gfrbq`!n)@sI6&G}6~E^h3~}oSbrU|Liv1J}oRLfXa$87O?bqx8d4#>#es3YA*uJ zr4U16`V(7=;5pG?XdE@610HKK9|CJ!vq_FaYPr ze*MCWk|++gpj$t*6uh zH*_3wQVFOiD~=WId(ngt@$)`zeyNKpZOQLppS`exBA&_7{=mum-S6ECfBlvJq3v6q zJw7KMO+3?uMNTi<%HL5WbTpA|MSUa941iE3K=Z10*n4Rv#8@A=) zd;qHUPkZBir(7n0qJG>m`ig%{8#K8sf8zZ&-FypajCfJJD`Op))<{>94s+Pwe-2gu zAm{kAQ2+Q~On2t7=szbnhuW9LL1nML{yLmI(`tapH~{Cz&a|I}-TMzn33IH39c5ne z@bHMFq!zkJS~I8q{rso66R3kL6|DN z2>L4U18C-@D5BHim`;l1*n{#5%h~5iIZl9*uYB~eC*aTi9A^iN&qDN{?J*&MA2A0Y zYvisKnb9cPo$D8~ELoCO{q4gRW_6OGB${LS$6}PDYFXhE?_%wvFi;M0BC;izvVed1 z?-V8^q^3%&@a_Qjv%US!ev16ZCxXXqdScYk_jkb`UxR}`=KMMM=cIVmzf<|o+jzOW z@09BVOuCUj-yEgCjCQ}YENWnp`;e6PU%!3>EN*TIf`8z9`Az|@b+%aWmyP;|bEE!? zi%Y2J5A**M6O+>SLm{O{pES9D;{cpzd*u>NsKRclZSY*&pTSW^{APPjl4^i$)Sl+NV1xTEuje|Y_ zC{irW=gG&K04xmDI00KX>#h0MF zx7PsDbR7UQ8~NO}-o63Yw(CuohI6+5{(dS>>Fe!NhR0gUSl5uHG8Fuk=wGv#VR1}z zb2F5dmO)N#Zs;s%ai(@XTL3Owdztq)E+WH2gV0!8<4N1{0YUPlb(<|*&Sq&g2k~9U zfQ~qu^2!+qn|NyKeV}vv2z0U(WQsH2mzzU&609Zvow`EF6l3)PE|k)UEcns1Oz_ z+f%8O2lPp|#Sg`Qcq<^~{HdsK(i8PT@W=BN#mG>|hqwFbW^|R6mOx=azBlLxxBUD9 zxb4>4={>xC5EZakNn#yP@h@8IKX|y40w5m(m2n3GxkJUcf?;rAkhAtwR#rl8ejb#t z?=VKxzyB_S?E8@Bzrmx}n_&QE(O%g88jOsNN!}|K1ftaE)Ra<$W5uBUb-a57^{-lW zbrqDAmpQ3`Y*Cf__quiKebp~!W8-7&vrj++ix{MW9wE91HPV-b=;>bqL~u!H#aXEe zL`$Gqh;<`()v@TQ_Vn~b=AL6w{}4_6%T%WG>?MnxQ~>77qQGBV z%&)(G6Z5dkyt{E;0Jb1ii{eJM;{;^f#J{b8zAy>~_|z4mI3eLhUJ2SDQfweMzl3c? z)FOxxlV~V6`XB%7zrgqI{kNIX{@Fm=mbLJ`h~ExI|I&3k#tTQf0x_fiFlRwwl(Z^( zfwTa~`Twv2xNM)<(yI){pVT))7C<|BZ#vFFL~b9VWQFDDpY7;`Z+_={aP;^I&CiyB ziIIM~%qc9VQN2!^pEKBpPwscKsiB@yd#cXAI4WG+ zHv#Ymx8;uoHWbvj(LZFP{<8`GWTF0@!oNDI{>SQUB@!h6~8@<;#fT!@QX`f>GWVJ?)!sx`{45 zfun(bC@Ct0V)h!&h*8WzI)hL$?v@tj33`?02`A$BDFR;_mSeutL8hmuFe1PasOShx zjt>)cD&CKa-Piy5oA77<`7g-Xnl|$uC;GP|o@YEhjw3q^WR(_FJI-!W z(+aA7zM$Y|OCaD6^?@wod)3rU7|265ro@(~SO!uc-biaFO%-d@QM6y3cVY_qm0ANuk=GEB+~oK?bqr^p5H0V@4Li?sl6skt zV|gZmKl~X~_*Yy^ZGRIJ;{hk<{>OjnbUT=T)B0x^fLS&?pr6{hRk{sNIGh%U6Zkwy z%{iq0RYN@jlnTayL4k>0mZfR&0qU{6>86{#oS;op%X(>OP+>uy_t=c<3=kDyQ#Alx zML8eaavTCnj56I;07vA+Qi`u+M%@+`?_^FM6$fV06Ru#8yjVQDc?*2=!rH;;J|b+DUqV;#HrK~_{LBW3st_swp9{4w&n}o=n!s}? zETsTY8r&sB`4KIKX*b{h&?ApYLv*}zWNHE?#s;Xc)sgq*Lw$0nmCqaPoAUGj;)ce@ z_woqe)Ao0xeq3WRZth(7U6(X9!r0gdfhRXi^*jBJ$GBa!X0l90C3(BIo59DCwn z>jnTegm;?EfcnRMRa;j}BZ+Z;jE;^;kKgg;Td@Dg5d%IZ1u#GCR9idj+V{3B5zHI_ zWB{-$AT6Azb4C5DYav$nmNW0UqO!^_^wG6hNzbXL$${QNhJ}rNz0lw)4%(gv0Oa*& zC!g;EVhYcJ%kwy+$_!!*6}>UU+rKYucAgPmIvi%T!JQr1FZLHb1KF&vD!Q zF!%2|0y#nO$9=%t`9$!is6PhyqqQ{FQ+hyD`YSIlhdbVNhg+SacPwS_ck=#y-97$% z1kkh>Dx;`pgZi(ou7SL~drH*U-tA%FVn%vgHQy0Oa-7g z5K(ZtBAr>J{&kBNrULLpDl4xDIv?t5yZ0?$z5>>)S?k@5iw>p(n(J#Jmqjf^`Pmt- z)zKENJE~kxiV!ao-bhm?0^)T57G6*AngC0q&nIXHB$DI=BoZl@WKIAw0;1s}_g8=Y zxA3Qb{$HsJV>-;ubR%D}KETf2E}*%zbwp40?6n$=hD4@e^ib^az_ND`jGoo&pwE?i z%t*GHfDoaesDeXvf5fUa0AYHaSnD99=EQNqGTHB6zQH2TfBxpT;IvM32D@mmZe?nW z#`z|h10aJxr~7l1oWIWk_|^V?Zl7rXsY&m8Ht=q6 z)&k}L4EFa?%7KHwU-%dA+?omXkHThU%vnK)1^2_mxU8k{#IK)*zQF+lIOpmB=-Nfh zHuG(0WE7rx@ns3VPz7vgco;f5Is*CHxuE{#RwSLbW@*I5ZH-8JZyOEi;m~SSm^K=l^wx>^;+ffHZ@g znK%vF&n(m!SS~GW3C@#vylFvPbz*d*i^X{c5m9@9_7{sCZ8w;;<%Q5zCo#I07=`}m zp`XA*k3I%t*aIKP_cNdx?IVVYxA}4K_rcx)`W&w3@8$d*$CxYmO$l^AwfVX7zL@WK zdi~R$1E6j^T_;xj;~H@H-S45Cy5O}1e`its*-Fra(NUqs#&-9a)6(a@r@IDtZF?b~ zE3DbX#vv zH_ZXZ=#(G)b4mTH5n@qc0jyZDoECt*+I7`} zL_(k}K zfBFV3mNPaxEU1ki(MCH0@oE0-k!^TN2O`ovx`ReH^e0=ZTwDUg0=?3oBw{28P3hDP zV>>3g-$$IlDRx1GI27ED9y<4AC84wAWWX=Xg z|2}awhgJU|Q~$_Tl$Mr~^O2#HpW`wj>v-QIkI@=x%%lM3rQxCa^UYhF`P*)&gAs9W zcMo)Rcd-*|!fD5uW9nZu)CXv4S_I|g6_At6$-0y#T!pgRZoQ2P3Ay3$j|sNnDA9zl z2uR``AV=}U1f(;rcu=qgK#J@V2}zhFtS%t8(D_VLs2rGaCeY*IA-}_4PuC`1oUk1J9jaft~7ns-PpcuR;s>&Hse@^F zCO#t|?kxXvAZ}!074yF8kXh5LtV?m1u{;>pq z&XM}hXTeEDWhIUJ#m9{k)8a1yn_qerj+{7YK*l%#^V>Rldf|oFc1m>TFwO`V;;8^T zDB3a0)W0rQj9md0EJ|>S0+SG!5$bMY6poS0op;_z)wtY7$3|I%G6Btt8ob9!ZF(8o zqw?u{x+;QvsE-f!er*7!LHTDUSz(A2QJ`omiK0Pc1CX8!wgX~!!0&wS3-G`G_t&%o zS)$OvmZJWd0kj<&3yZhdu^bYuhhl}Z4^|d8#ER*RL`DD8lJC`x-HjMk9B`1ssQ)Mh zLLsLwT?*HATngU)&i(`N_y6?I@XEIBdf}+dlv|H7>4^KJ^1Y}Zfju`j$Ge`BawUC* zYJXAMmq-4YblRi;rv&=n(f-dwf`46gMF9M-z4m%)_v2)voh^IicJTD|^hobFCxSnI zzoz%Q)i*X$zkfdU{11beO6}?EgU5em^!{hdEc{_gTUMCaiF0IllK<;JtU#o+tVX07>V#)0&`x5;F)Ki zmiq3C3X6#LJlWdrzmCv1ZE2!?UJ!_{DdsUfCju!>ko%Ft#CN>!gniQ3Cdm9+oU4vS zgQ_(&G{9ee`Acx)jhmvuR;@x;HTEM0mZ(&=Ev%lla+~d`@7eNHv>2E2`-!g!vNE8! zUq!Yi+jZ|Y_p^J>9siqumf&^iHtlN$zmxi1c-w4%R<>;^AFO-L$bF~T?>5+en=YWV z><~Qmv!BDRx84dpL}-}L#0b@+r1APNOLkqj2~`ThMa-H&N6w}uAm1(428Px)hg zCq=s7rTjB?IQW+^$GoAo8v6TtCD6Y7@{MrKHP?bV=sJ9gq*L^Vk^lJESakG14eDR# z0O+dzYieqtx~7J0)fD-UjmheM|NO7_!JhpG46w|C4V*k|83tgE4Nu%Bo_^LjdEEsj z%{+Sq-Oi2i!VZ-1_-f3+YA7om0QE~8oik=l;}f4nFzDTa65aVM#Aal^U>%)vJ| z)^lYa^f0u-K59z95h`&a|Adh1<$rryBH`uT!;1JY=jwC`BuRBmRS!gKYiol){NjIr z|L05p4LUo!;;P1Zn524_XfQ`ed@c2UZDV0}5ihWev=TiOHDy!1|r0hq>deQ-Z zZ-lQK?YkBK6N13cR7~)1WZ*x*B7YJ5v4ckie+Z@g!5P_!75@YM*};DfsQkCatD6n6n1V=v^Oz9@EbVvzD>4qT zTlqAg9}ftpg_;nk6j0Lzar5#qwDxEGIb+!2qetPZU;jVw@MDjKDogTX3WafU3dRM*HMNQsah4ukzV}fzkCZm^6^i?)6ZHg*y{aS8QO?OLoEYfW%V|! zEPef|@Q!XYZk*hISacYy0kEWF!wTyqwB_Sc=a2^9U(+b!~V zQK@h7;>A!{R7g>S&H;!^{j0(-vi`e57<-R*+U5=&JVdQSTyVn*h`|J@;_mJ)*t~f& zbp>!MEG%M+ULKq{)9Q3Va7TjY{z0h?kp50k3zFv;cm~eb*%HYd?c=V#>Pq;t|MVZ=@(t@$23#o8Q{GKCeNT;)bc>`C`Ae-(!fml?4Z`x> z3Ud(9=%4m=G0z{&^#}6mVogAnI)JbmgwPrT0X*b==;!f0Iy@xjkFv7QYDr5>L z7qX8S{a000(JeSTMf|ugy|xp6@W^8ZKxWwnP93p~18|=0=4-EpJ2qV}osgLK!h?U= zvSpB)a%4fHqW{ndX<4FwKHr@pZ@`F}fpO9s)(fXjordGbPf!kUa&p{%k~)4?i7HXz z_?c&(rt!htP{k|1pb(CqZly@aqxytCf35&1jR#Kn)!8zT2q^_x+#Ts*Pkba>Pq46% zCsKKox3xk_U~awTX84mo{`VxDB#H;wwi4FH1$_ymMbHX506M^rD*lUloUMBu&2zJX zzx+4&4uJQYaA38y-!Ie=h~WTuMS*tkHm`V30VxO!w2^^-e0%~nZ`}%8wmvV7@D4hT zC5HfNaMyiu{z9mJs-h$IIHa zYvINlZ}tvRORSa&^!@wbk97z=on4aCf!{B`u#g^yj>)hPl}APY8Rb~hg1>NZB0I8V z$x^{UINkjh6bput%1fx ziy${AmrlSq)V~--hk-vXDm~pjFg7tkk$QjM04+KN1^FbiiB`p&kg~E8IC}IroIZU9 z1_pXzYH~^f{HXD;=mb2w`58%bJU=fV3X6*21be-Si7Dapf-n8+O$`)j+l18aB`xGG z2xRbI2K-_|%Bf}-2En#1T-32+AeCD{(+0Ku`6QfjJ97m75SA`o0x(SnAOOUnU>(K; z#I63CiQXZehm5C80BNMk4lk4!y{Ra zks$&`>gyMze4VI1Aw~RZ)Xy~lxKbtue}3uf`cJtdetoU~Y~bHmR|AFYyd6+l{noC% zjDi16F0BgyF~J{;cM<%Z^`L-S@URLW|Hc7k__^})^Pq;^hUa!idpoqAIYX>PoT~pQ z@W;=!xMeYcKL$WJG)-h;@bO>$)_39Xi4z7mj014-SVdVG{JT&6Cei)euxJQruqNgJ zR8&+zUS6&MiZi4BaWQFYYlq&xK6vD@$6@E|uM_R5+TxZLxcja<;f77uLtR}hw6(TE zdwT~Aun1$y%`HaGhIii=haNrq?9(tboyyZYY-|yK_uY5G=Rfy5uxiyRF(&|$ zRzM8USEFb(rI3vkkRtdjj(}WhATubzwmQEJPW{`z4ife60lellqSF8Zu*Yn7lt%aJ zUfbUtT89UL>%~`ICAxoLU@(FtVj#_&!!(Qh9lF1eD0~8T+%U=)qkdBJOGuHw81<_W zze@S@S^z2nj8OLD=QIxXNwN1E7?j0`uDIe#Z*W%>`1`|uY-eI8d%qqA^7xRJrAvv5 z|HV^J!M5$&**QEMbUqpz;P%^Yg`01@5sn`_3a3w=Iw$HM^Zu2{epWjze`?|7Q|$Np zIj_wzW*mTv$=0u42_Jp;-O_D1^BN_0mn~aL-gvI75H=I)9~TrHRPyj6kHBVjBE=Dy zsb*gI7ysyw*!wSW#fmzizaLwRrXW-kPATXb9v+6xo1dY9b%&8a@DvT}5 z7yrSs2y_Axknq?GNvOqg7A$fGGJaG@9fx+tqbJiDJD@8N!3RKkVhpAxN1R+O=66Ht z1JJI&?ppZVXMdX^%DT?X*dA3rsXb9!_!$YUp`(>63c>K{+Ylc!F@|Nh!PzzKyu zTgE(ntTn(P8=ak<@a9`@Nwhsi-k<;7--S)rUr&*IS7#R$2Bt}?AR7F+VJ*PcEnA?Y zvqM_M%1X@1?PY}0hZ7KkPr$2Wf39gTiPNJWo%b=AR|mB^fd<*o2LN;eIw0iQ6(_(WJY?q~ zqY?O#(=?h?fQF)%sd_u4Mj|@x;1!Cx9~Wy`e*Nrb*!jk;=-(fY4+i=O{&=jV&;i7@ zJ}-xF1%O{p14Kvt2>M9xV}w5?ME%pD{8348NmC5|9f4fR|60jZ z=;N!ZD&T`3ct3pnBOj*u3UTQFXwaA2r>3U_r~om97X^ZC3;F|gP~A}ViUfa3pNYp4 zI9)XT*mgWM30Gcy4czyGAHcr1-}WAJ`|Y>G``B86&H+x~!vesZ+!PcsN1(H-3+})F z0XTBR-@l*v?N38}T^$_QzdyR?-#td~^yT1>^gl-a;&(&)&W|62U3>Q#fS6+&JblzS z02kWoYO3M)e&b_ADf*Oois-S%MU7BHQ?c^2{mj9hXn>B6E_m$m$KmOxpY|e%Kl{@^ zqm;sF78y&$z6U$1{v_u}E*#Ock0CACZ902!zB^~0-Q{dVP0{t%(1^VNP zGqF-3B+ZJBz|=T70$3;*#R%YMx%Qf?;UgdZAl&(`+o&Jhj%)=CPXSD)8(`Y00rfc% zg>!xc9|HcGIsm=gu8{Ju!}I(8ZTi$iSlZ&$=`*nP#h2jK?XQK3_oxv+DMTW@pHo1& zeihI~;CG~b6M^dfgfOg1t?>6Lf8NsPkM)g1`J-W*A6EOT0zWt*?>+Cihgd>O*EAeNhTxBt{UalCt-leEqM? z?zk|9?KN0%vwGQ5?>1Z@uqXykV$=rU!$Z{Gd6D|(3cP1K&ceO-{;LO~fAYmYp_BQ{ znO0hmFv{&87@+)q5qoWX66WnY*z-1Rx`8GY_VjeqiQC`TPpOEtt5;F+RGKQOC$u1% zP!(jT(mz2g27dmwwpQ<6d<~4`Ynk&i#G(vdXz2BEgKj8}!$h--GX%Q!D34vDeCg^6ri`iUWG!Xdvut8$^FS)`XG5^wGAAApx$*#| zr$2{d$4^9#eC7__EExeth3AV#iHcX)%Gn=qw;`zVCe>fXa%B?BEaK;GdJqfmLhPz_-8iZMqlF zi{Jmk7br+LdGZvo1Gt}t*t*cx-VR074hT*cKt~5$am5vEO&N#w_BQ&>+Sy}ny7^}6 z4u}GOtn{y{tRk@=+(*MhayRY(ra(rcsUIZ!ZR5uNi0YT z0>6X|-k%#bY@n0=`RBKK(G1oJ;3A3n&9=@iw%852&JQjXX)g`HTm78qFX0whu|KJc zz?OjBvYgyME`UxAfHG_dC5PGKEolctsP>_XAohPFU|`gU0Aev`02zT~Dqoul>19sS zgAYGK8&acp-T5xK>#jRs-P*Mf;sqSjQIWN-u)YEPm(gl&mZH_{eq|u2Y(x*emCduRsK&S>PN?7@uGTS3{c%qw5CN( z&J2#+Tl26|BANGCDsIz-jFn8;3o6_rQ@ON9p_J zvvmj0VQh!RzxT8C>h{}ihrN6D&}$w&dYFm{(SaCNSs3^HLd8*RFGT7eQ+wDpEdGY5 z$MBs89wbM}*!eS)0+=U;C;#t$>?2UmqGHjo765y2moHyVbUvPF!NNc1@3ywH@RhIp zwO4`v+0TBSUGJrn@W|1lu$!H*yjVxH>gp=EanmMx4HV-zdEx}@cx^k~_nFW94%~Ck zJ;WB^v9fp1KIZYCC9Q58ff@$>x)H10J>Br^v(HFWE#~~OE?|&3C+!_wvgWDCDFOR+w{85ZQL-x0`XZ2vmA0!Tt(Aa?|uR6&e^H~3fvCI~7NNn+j@$G;}C`_WB{ z8cA2+#v3-l#>>~!_lna25JxmfeXLHMjiZ4!Z4l_OS5g9+IsmmGFRT+F*tQox4ba(z zMXGz?jkk8g-hFS!iwwQrXpH*#N%YB0;fO#kEA{yk`gmo(_ZXorMW*{P+IMDnWH8dt z@EpI~_Lq(k^*hdZ0W>w#kq-a(gxspTZrwV#{`wmtW_8%kpbRbe+tAnTeujv z-}o352t#&oVjxnJSWJg*ox-|6 z)Y{X_B65csMCSpO33*Mz(IZDF9f1x2E})lh+~9tm(+tRmV2TQOqGz#l!v*3)ANnwC z*|G)Bo^5x|eYOzv_VuvOTLQ}#FM<=N+eix?1R&>5fQ#CY5fGWDk%b zplH)!7I0r7gz){xfrc0Zw{svH$WXBu+cN110-33iUP=p4-#BUsge=myu-?ZOIoyhh zir~6yuc3Cr8#i4?4qmpDfJ&J=pBuasNAzf82mq}lr5nN&h$?$}4uVJeV)QS?``{0s zwX=RF6pMO$|9*ID_a1n2_ikuyYma^YV6>l^!ot3B$4SKBDZj*-yr%#^&+*HOeR9o- zQ-JCmW6tZR9ndESG9$J2iS2%Aq17)gm0eR+K{)^)1^8Wc>%`!|AdHTVKtX;X3=R%a#Lw4>lP6EW zvZc#phZfI0wqLPWF+ab6-WRn()F}VSEzg-Le-|q7bT82zOPbwrVXd!!03LsOGyK;3 z@9}clcv51n4H*I~0K&NeSQJPRiJ+c`kHdi?xVSmYK^=*F@SGgR$NWC+0!m{^9YmQF zUdO3Go|1rl?PY6-i9m`F+mkRKDAN%TnySD>0~v*F+qS{}{qJ~pA)|oP1(&xpLF?I0 z7!ZU=a53fm)%?==PVQ%NZ|ALPUJ;=iTE|rVksk%=P4L_XRmMFG9OV{d`ZGL z96xaa4jw*CedotdoQkE>Ab(fa;bQw4DSpnrIBk4Mi3L*o^u0WPA}LIn6x&V};J5vO zQ+}0ykm6URe&bkiVIed%)KWw}JSI=MYiwwQJMOrXfK$iJ1Wq&+{Mq@`*V7|(*rx%fX&vtggeGflk80ZUQ zW1<6KY#!ORH+MsAbrq~%wbBDo9M#!*wu2Tat`Jy|pD%$TX$B-5k9>4^*z^8vcZ{Cc zYN#468kXg>uVEU1zfNgsnM}b0c)7^Mi<^m!*!9M40>bg}k*we^-mr4TN=gfCd2X|( z1cr+iMnlC#C9q;?Gn_he)>)tgHh_R1L7RUjH~;S}Kn!*gt~1~k1k${Ae7p-FwyQgU zH3F6^9)x#dzc$qt5cnrNCO`y$$n*e4o@_%Uxy+R742(I&jl>ENYmgH?Jff&H!FwJJzDc2KJlhX^Q5iPap(J4(%Y7FFFGu?hx%?EM7(W9(5>= zpFBxLr(!TC7l)9v3d` z*XN5Do{R;Bc}@>6s(tnKGw-{Y&bmS7eGd%}K@~eGlS1kK_{1bzh=!?px1_k(Y5(hI z4nWFz4EF8j=jR2$pCfKvT|HdCDGzqO_Bt)JqoYIqLKrq&Uib?s$Pa(`qwvy8FT&BI zzQD-P@F1lbPy!Xz13P>Cs%R4a!L$G_RPN%NprpS8?3uLXIRm(Bc;xRa_DTOW7+_+e zfJgg0C1A7th_o&`5*a~YNYWXIT<|TY+MI1ETvUms#*xH>&SxP<0q@TVZ7Wm_XFA~a z;!Cecw^y*=6H^8a4GmCVS4)mURb>VBY?qdn(9C$O2T|J!Es+JV&=K-!eDMJy+#_Y* zH_%VRq);W&X(#P~vmKq#e)cSMu!yd+v+LX|xk*%KlIkpQ-=R}s(eNF%Kl5bJm-QkN zfr#Jx-PP-^(quN^chvkcfk+>n>-03VCD5>%zIjm{Jy)INhxGaFx4nznW&nO(t1Ibw*eQg_nhB0zEz6I)TH?ur2^!qok}1YS_Akbv?Ky;euU$?Zl2zuB;j=8xF>(-LmAm#tr;&kZHekjOufa#CE_@{9B#>+igkoVoY z?f~#Vv9f>Lw%2Ib(CFx(5-nR0>Iw*p+QCBy;MG@NkpRS^&V*8W)~VKZDT?HMcnY3v;!dTD-GIOM<82@Aed^Ia)6C(Hb%45a+c$<2UcQkN^wxxjq6E} zvq-Ft!_@HG#109HYF%Iy)$8WOXg^Lm)G`6T6Omd;$BA-s`pF2;w8VOuN;-h6 zNhUmp$oU;Jl=k7@-%<4wbNm@C-5>Wi$9Lj|e(2avD0L2vjg4^o?RQXHuJ$D1g`Oe6 zPYyE!XA;$s#`Ve$fbCNCD_5^(YsA~|=C0QraL**+vbC3aZ`Rg+7IyD_n>j2wP+nF7 zy?su8|MK;h5#t2zasLi`jY4;w_^nTW4vrl=PE2JJb7D|x9M>hW;-3c(KY8+(@cg#z zW`V!3c4Fwvu_c@V7&iN3{@D-%)dzm@6nyTZA11GxFIt@};zGbiNlsoNj3-+u1M?eh zycv!jaVly@$A+PYoq%{d{>lyYbx_Yd^Mi+v(1bv2N8^i*BmMz!n7w96k(0Bot*s{t zPXd3<;)b6KE8B0q^(NS{<8^wk(a~X7D?o}hW%^jGR%2K3yVTXz!E?`Tp;4rK;lk=@ zED&7Q(ga;BI^k>p&wXbo^3OO0UJ0izfLZ{PJlF3m^x~kF1h4Y;3MqXDfK%BHD*#S` zV8$;l7a-3#J!OuG0 zQ=ugX`zaDz62EsUr%;OWRnT_;-KY42&Ok!x2(g^b0D;<03m`70czDF`=k#UW{y3?i zK-Aw@N4fT%-frpGz|V(M{I1w|g;Pi==Ut>!S|+6S1D`XA{fihY{z@zz(9zOvkg}HQSBHM(N z|GqtYp?UFQT8q$OK=2oxc@z?RVfzl)>Z*+zyYMLhVgQO3EqRGuzsc;A`Dx3TNBzn7 zy*DrouyN5MDx`BX0&*cQKM&5FIRg(r_(OJ*pLU#uo*`JiYz6i0%3Ab-@}B$miPNVc z2@~Y`qy6S@eHN~~>S|K8Q>lM3`WHVJEbw&-ai;YmtyI8zvH*HJ+&`Xo677H#vtX@?vfOr;>$XB;raOZrY2vD0_T zalk&2@_qvqxMfM`aL^ZjfBra8C`x5+)Z#u#%GU*c`L_7LkMCPsT?v(Cr7$=&5QzG5 zlHR-Cbq536YF{fMFvQ1_9cBgm@pv3?K~|p2pr`&Z`sZz(S6y>8Y! zOJ@T+?X`l@XQaw|$8q7ThBVhg_$4q9Q(Xn8%m0t4uvI4m&0xEdN-UpdCFlSnZq;C zKfqpdR64&;x3lF8MAySAO5@llg5oGq3#?wuvxG zgM$_=f`-Nh5(>hTaCBq@4j(>5OaPbc9Ud8DUj8uT7Zwrik3fh$*I2lN?SFMO<(~LQ zbITI==*NExmNW2Ay3w;5{U@w&@aMNM=!z=i;)LP2|t+7MG=%9_9H+S@P(NT-h0sg zN;p7o$(Op{M5Xt`fLsQC-&s=~1MyOf_9aFp%?thfh+hPG^)hZ{KX~V2l8SbV3i2KO z3*VnM)| zn>L()uHHe&%P*vL0@s%bcb%{^lWd(R^ST6T>+0ddAN?epICh*^HUxhx4jonGfN}iy zKYr(47#JQhi}<`@=ivJzt;c_lGXVdS-S!t|x6FTg@2$7Mm21~Xyg7nkLt`T}H#M=7 zdJ*L3<&&_^nKP&9pXF7@vZB#rJJL+YT>0|GX!241xoMMS>_+bf&!{&}yc01jH(F-U{YP zzAB((xiqu|AWfnp(3hl!`QKc2*!JoO)W`F7MA3=h1$Pht;+dV@P83e=haag6<61$O z?^(Ad1OuMVF%{$F_)z<*)~&p(-cGXD)1laJkf7p!6cEz#mE@<%41rKJVx8|sOM z#2k5NXD4ib^(EM~YbT4u$3tJYwypv0WWe9hxCj<6Zt)7HC0%zso8R|OMC?_2hoaQp zo7k#8HLCWeR#BU_Mq-uPEk%o(HENHdEfUnIy#+ff~os(>F`#`2)N!5LsdC|ebEHiE|Thq}OWyjeu zIVj%9LmITWtk$VB`nj#Gr;#tgOM@=etHZmIDf5lFO zTr2JdEEnG2M9R(Ef%aG%?ugy6K3NhwdbGg7h84SC%)2>WFdXy|x4EqZs|XBq`aSh= zVrGiUzJSaB>XdwEFNE`Ve!g90U6tG3kaWd$qS9YX_)!e>(Ge#da@Anj4Q&gJ0?=@) zJYn9yd`E=&esAws|56r7z5f{H8#>%0Rdxuy>Auj8RZ+``eXQxs`>MxD4c<$v_*}Kf zS%g8dyCcv+E}#Dlsd}D|HTjHq_Yg0PIa%WDgmX=dBiT;UI`lLt<%i&Gv$l%CJ3QgF zmLGq|&@AVd{cu$r=&UVeAW2Bj2BuXbpHDSpLvKd+IO%47ku`K&Ka0*2_op0kT)rxXeDwnVa<7#uvj|J6(r!>fsOatrzfykl-G0Ne;CxL4+kSiWSKDi+#k$_qO3}=f8>WZiA zPCApN+zP#G!G#$kIjfIBCBI|5E76v{w?emhEK^yAh8_r6W%#33;>cpt&tSFn9XM0Iama;V+W_Dgn82jG4E?%yB{u#J5I#xa}Un0sqtVY2Ir6Z{QAHyj5S-lRy z-NR#{@$OS*qya^8quOY^SS!bz4MsDX3h~*7hpQ#M_ueg-G zx(Y!{hk0i|n_s=GVWc$9qne!g9gSaZB=BfS*Om0DR8!vA+ANsFNT% zwu=G%5meb;|GEGvHZe0p9KY|k&)QBmgCOH}xZUH%JeKc{?2Hur&&cSZFTev7!wKg! zU3g;)FGMx=>Zc>URYHk%;v)2m66X{d>8EDNDz9Ja*z!M!*3mF9c>pF(LS=ml9p}Bb zll=XW*P7?h>U%y?9>e<@i95Y;2k>*FkmOZk{gad33pD4;7TFg4N3Nb5u=jIH5yu=BE>LVs)9p>c%su2 zo&=?Py2QH$%bgPnl61A}em{C2)5p}oYh>tFnz=t$0ob=#<8-g5JXrj~4yPaD>}rjj z&2F>72djdmlZ%5~dTb!RwsZPq5~o3YQI@xk?KBI=Zf!BTra^Qg^jLS&kHwk#8jy#J z-u3ZKO@V$M@i9>2>m4>&y$RztvU>=v2fyJcF=@43=#gp$p5S_Z@*eL!3=9k^`tl{7 zh~yE?cXfP}WrDUU(TAT+O!5d9B&?YAdKtfNb^XKd9-#op`Wudgvz*aC))*sX#R`m; zN#xaUxLqiHDFd8~XxLJ;;ua#l=d|(U!A&(mBIoa9YDHhb3X)PXX!;T*D6nDyDZV^n zXp?GEntj?3;)c&v4MiE}rhcn{U_y@SqZh&!-$$m2vMV(u7#Vh7EQ?VR)%rHcATJ7- ztm7&`J4z0Ur(+2Z+joBQw`hY3- zfgi^qv@`m!OYdiW8(5aCM!EI#*K_ORhBO*aea*;|ovwgL>2IFSw!F!Ipae#w-Jw7) z`yqo(WJ&p*%IfOax78L?@FFcsW<_RpWB#T?4mUM;?@?jcP4T z9gM<5!@03a21sbtyR5`(nrQrxNPWqgT43_0gu1bK`m<`IPmnX)jfpfW+MbQ?WmGE! z#H~KTJ|2yW2o*U2yCL(WjF?HKF=CwGzBJ_@BAIdM2-MsSg6o#Hey<-S!vZ|c7F!m#XIYIfDnIU5zpvD|H#)yQA%DxktKLJEXI_JP{chM z<`+8M=Ui!Vethv0{NOBvp7Hizk&nN*Ig?%Jf(<>T@LjP0zFDVJXlDmvpYA&lHVYhl zjNJ{3TAeH%a60@G`RFv>2d;hBy9AbG!OMu9-Mk_Y={1C3*!u6z+&xg&ksKTzuDGNS zs{J_))rd{_6_XkIi)-*bro;^SE=Gt1d94(ur8=CHVV*V&sJzxsl@|C4A$pBSqoy+h z3Zp%;*rUH>DE0>x#pqsdj{N9L%WOP8HZkxa?l{|#Ji1sLX9B<@_Hm zZ|Ehs7GyHffN9=8ydF{iO1MD34-FnTXz2K8ZPR_EP+#v?l*wHH$T}4j6Z`neJxK2+ z!DPXC5>Xa6Q0H*OpH1#8DwbxPiY8Fgp@@xI#?;yH8DZw@3sy zkBsu2=>!v9k&svi%PKQSsO}Zz1JL32%odNiG_2(C!K`p03!Z21$c0$%!=I7{-2|yk z1JW<0wnE;X&G&Es`z!Gx7vciDiC?_`MBW9z+eygrd-hlN4yMGkwZ-WjR;irGKktBd!Rpv``kW%)=$EQmN;-1dGSG*_gLsGIV^ z%^tE)g^bnwgD;da{Cq$57IQqowdB?L5-82+9+n=Ide{;e0#@-foN6!lvzYwzfeB2= z)}FPsTdb_??nd2%DQ+IUx1ae^!}$*)(sm%fz$kWoo+Ktk$CqEQQ@?JvGMQZ^F$xF{ zL>^7)U7I(Ap4nJ61`166T#1^3!|rW&F=Gp^z}wag8xcpUhyx`;lI)efAlYY4|2KC& z9Ja51B~XeDh)LV8Mji=H+eFp?O>mAR$JkjVz&+ZCmHq1E={lQlB!Al1UXchKJrFOnJ3yDyB5AKdqiRX%DHB@^S` zprzyEAK`*11rpP6t7`C>lp@*P5`qF;(J_S{{+@C9z!5bL6@}ixuJ#7N{Upi-H(uR~ zdk4n<8O7;cwUjryKJQC>+C1B~ep?4Vpv* zGBTKR6|5$}Y6i7a_8EoimNoD*POoO+<7Lcp-N$oyliR);5LPEmY(VDjZ&V=(&rXE{boUR3cD~3P0HKU5v zg=3D|NiDX~vzL$(0*WBM`BkEI#Ze$ky!hkCt9$*xXx|^d1RCDxUOh;Dzx=bS77U~0 zaoH;4#&W&Y+O`N*4sa>t)69Pb#Ia;w)mPTU5%AZ_@~^>cJBJC~-DuHv?EzyXEd*Z` z;2=To>U~(DzhtCJ_ZzS=C;zsYf!eaQY{8AC-Z>mS@TV&|YkWqCvf^Da`iIRHan{?n zjkR&i$v%_#%M#q?0Lp<_FAYhkDM)P8ka&~3B!!kH%J>*!0)RbehKDw-AT^*;Ak@Re z(ud9Y5wbyQ3HdR0i{quGu97`)*T;`jNEqG5Wa8CVskR?ET|Y5(RyVLHRR`-`psJw; zVnx42$Hz;hP{TPA3FYPPs{u?wr|+>{TqM{x9%wisb3H7&kjp!FJ?zeT^lE4Y0sI_) zH6ZcG($ToD%c?i#F8srvrw=h^z5}-3)?QTt6UZv2BtD~l+ZoW{V5j5hikkyoLxSaqOL$(M63Av1x$!w6N zG$m5TCrbY9(Ntiu=O-FdB^g;epRv1_4n((iD&{# z!1h6cS_2s4$bx!~cEZfzaT(ckn$X_(47AJ&AH{$=!jaDwMI=(%+dm zmJyS}WQnT^pvKfL(-vT3z75L~dW;x-`i;0mocV3nVXLhZ*pGox=wS+@f0nrblxNjzdIKR-G2S3_6KBSU83B|Bx#Yu1aMDX#5~4UwO}d||VBZ+ov;;=A845zfV~M%`4E zQxu3~EZ>gRp3p%fM_qscGVD=4N z4+Qbz+5f!HOpnnNgL|R9^a}6Kh*>88oBm^LMsTNmwP! z)^?x&qNMF}t62e(he=k+Y%^colS7sYfd&jBCB*BTU0=PD3WcOxngO%Hu? z2dNQH>)bYICOuLflRzqTFOsHYOPxi}SCCmvi#NC@o((>BA2;Wz5_$pKs`1y47tb7d z_urShX^hdT($Z#L6%R5=F53%5Tn9Ylj=s&!%uHGB=_bD)Y5(DlTbCI_HalZe0gxm4Ds3 zXj=LczE3WEB@=qgrh?Bl4$fC+9|mfOcv@j8z8#V@?}>BSb_SDoTx4??+|#vV3XmH3 z3jg~z(5l&8Zf0gqBOrjBk$G#c6i<1N;F}y%awlHAc;WTSNziux=tQYTlhEOA`44*J8kmvPuCskGF1 z-cgjyz!$^zdci*cn5^H+DQ3H_`7de*sXGO)c!%RkWXCLM&-UMJ|J{Uir=#UCVz1@j zRHk#$;OsgQ_SkriD&il-75t#VE$+bBpA!o7tefF63VPSMUxy`xc+dl@4b|UNiuMyi z;|eG*@cS$?dw%;RR7b7ptp%tu+jK21IQA+VKPcYyG<5Z&+bq-OQL)OZKq_M>DM0yQ z@$Brx&nc~V3zUF~g$29!)aqq9t{3UJ?>6uWE8{WNFxatN#lWM-!^NunIKBc0LPPF! zdW-nF-*$2y<6zkq-^vIMX|8Q%cyaxrdG6Lo)_@b`zC?&*D%=q54iT(>_H6X1$Mn7dW}uL)WBb3G1bFD&4%B@G!79ip zJ#aTZlyVu#$+1`%zMBrT!FW5sNik{3J$xA3+SBVchijhxjXaF`2_9x>D zeWWAm9sFK=?NRF_?Z1aaI@V()cysZ(FPP1Usx4|`bRVReJbJXF>v!_@Du>UeGwNn% zkgTOO1i8?BkY&03nTYNdxqdWaSH{Ysg|GM{Sr!Xlba6NEzCe+9_rwH`y^G2`*)_Jk zI8$=_?>8zZiiN|p7Bw7B@jhGWIQ@ULYsX0OMnG!1p@pW+#c!cy9-S%Rm2MGE?0|;y z^~t8#^VY(puwD8)RXnd->+jzEEFovOFnptRnXgIJ=BoY{IS&0!I>n~7%wUzm@eKas|6@KARE~E+3mPq zJ9OdoA?KDr_}yh00j9I~XnaQ*j_K$h%D_FILT2GGzC_2KKu^6nelf_+d<;F`^GF0r zh8o1-3!NtMr7|Iahx_WBopVm1n;*S}#sbHE+mOHdUjpPeH?~ahAzs#ZgNWv)oS1x= zbiAA=fr+%ZC#P>;k>l1TVe&^TT&XErA#{?Hy4%Bn}x19b`x+lJ-+BWz$+s1HC?;8ByXm{c8!BSt8u8n;xBewu%nYY;FB~ zr7>-2fT-jyG(q>qivLxCGKwwwH**aa+e}Nr?Yy&%pz+=@weZoH(BCNQ(4Vq0q)vf) z1l5a*9A0f0h*;PkHe5Pl{Sw-%+42spt- z@4()pB?w=;9V7i3DL8}r)H)+4mY221;FjZPi@szYH|-9h9t|E27OeJ!nmk5(u)rBD zaXRyWqpa^k1lN&%Gz{gPY!rJ<9=S|%p|DnydeKgIABOTw{Gv4E~(nPZW ze$vE8iu_WymB`Oz!k+PPQDXV9e1^o&q3+O z#aqr#t<$3gef07Xfi{bn8+K)__-w!3xdv!^R0U!Ziel&2tVyKK<`@E_R?!C~&<>f?VVl5Q%c$8dlmUe8OPs=|u%$aAnQM5r z7|{YWxV843V6}GBR@9IHA+6%A3E{9`<6jWNiiS|MI-{Y~88i_*eZYHhHFB+6e#6NV zHxe5|rV-Dh#(72fX&3-`$9LCu=n=f|G6ZvPOLuf4QY7tgC6`}{#W3LnZ;|k2~&+j z^LtJrPSLEKyf&vQyyOun_d&Sg#&kQTYmkmAm8yBz^r3xFFp20zh|G$|29JmL&< zBZJp^(>@J&!_IqxYjnyG14gbv=SaE5MQ@=o!3LVYs;VF}^^xtiMde5%x zaimC~jXO8u)K)Y25_K8I4k?5?s^f|FUtDuFOWH4<_h1&x+WP$IfBjG3htBEOZx`D7 zgIk~caA|j)4v}4W5DLnds{b5vW@7V@NG#db(GtHr&2!azrjVIGQ=hpU6eIoLoYqo_2CGKd*8$NDuB4#?N7b|A0M$ybG9mn z|0s|)_}lAHT_mP^$ek#n5!q;pZ-+GWF&AvdiEO6~=oW@z}jY(iCWVoL7 z{dTm3&QA2U!L4vQtZyEoK@W^%dUfBbt6Zn&hKFs5`CRu7Gp2eHaS|?Sw~J_KNF1Z& zq#fN>Mjr{~vlM6k<>G+ERzcUNB(vaCQc!rfnjF8vjjv{A8vC1ei*+>Na&s z#$&!SDuGbDa_>HrtUOge8^4ZXzr(HLG}V6|5PsRsaka6}F+tR!kTUoeSXdF~V;`MI zguA`@C)Vwb2*$eW2r4Jv#=%t!&kl{K%CO)2{6S?E??+bFB8Yw&}VNuI+L{04m$!NMC`9O z^q!tRa6-v>lQkY?qDsXI5I#Bnioip}W~a3Uf&a>AuQwP2JXr6Q>R>ZINS~r$L)`zc zw@msH4;RzDiLj>=R7=Vvik?0%87Rg&Xf{yA1X=vkYl2&#Sa%s1xfYp(VJ?2q-*^CF zH9PwH?d@e*r*d={LXjdrKVyxF1R2@R{qsV<1qyxR57LyWQj;G%Ch-T;{> z$GH)s``)erHRUBSPeANeGxdAc13QTF*6iDb+1bpVPaJflTjIfBeqVMlj)f59qQKq$ zET+VvS#+%4Ojoc(QOy%u{#UWe%Bbkq$Lm<+4qmSdgjSQt{MdP*WrmkJA^2eec?m@C zW;&znZ=jHbMCo3dnHzzh40?KY{-olh*!5_a!;cUtb9AL~SQHiSf24tUtBaQys{+BZ z9ajUP;VTs*;tI_3bM;m<3XUP*SKz8LX&a>=#wSlWDT04Y3CKDEtch!Ak%K!AKjPMP z@B}{@4CrtfCOgV0aj<4*YN8R7Z=fIDOPj6gqJ_4(t`wN_y0vL7{Y1BUW-b8Td}em9v+Q8=I{t7^@ zn&5R-U2plYfuej4*SjQI&(1W!n@A`{R`j- zm+@=E=EKwn^TNYJ=vME#nCyO%cvAnA3ux)C^{XXiD|2&$%-?@c@^?M8Z#Z^gyaXT9 z%ACWfZT$s+MW+P!58+;~t)a=0K7mgt9HJswOmQ#&C}ay<;VF`F_@&^&usRwIVE9T@ z=;uBxalgBZVIFh$150~NnrL@w{{Es*U)k?3+z^UtO#J*w{C0Q?fKp-(6gp$lRPiEv5<>Oe`q}AMzBEj>~y@ zr7(k!D8fBYgOIuiJTy2AAj9UaLpa%~)L10P5tna$-JcXT{)S@`*f4mXm*Z**q{tAW zKOQXQJQFA-wy9E-^s_TJZ}OSX1MES>bQmc)cwbC1A))X6BKy6&X&Umojz(;(yM*2G zADe-4BgnArmw(6PO>eAbp+Z8Ks=b5X=b@-3Us3}1&=Y1N*Xc&WK(N4a;}2q_MKA4( zFu`vx)lv$oc@JQtUqAa_?#|ADc}#(I&SDyG_sEt=uMfV^6FpbV7Q z5CYT)C*ivbNj8(xH8-&mQp&ZONkBqXImbpm9PGZVRdI+VT(RXctfGQzbN(INi*90+ z0d)*VY@x^6CwZ)SV!iK(=Ib0uIV|e@?-W%z0Gb~Q8}L00&<-tXt;=2{rOY*h8v)eE z=PTZk5C}(lPAg$jHia~25>FNgT7omfw>vO1Gc|c4Qqok^_sOY&kZ9PWs$G`!pW>nT zWR+ET8!d!9QHo85d0KrOiC-Pt1iO#^(@4^VKEcsL7aw`*J)%0RZ|w3lHU_u4^z1*R zIX(snSAX&xG|_#|rbOiCw#k1d%Ox$wO7dA(CEjcEMwgW5&OcWnmN>w=3p=mEKNe1) zxK2t+_Dp2@bC^PjyLY_)%%Kdc&4>HLO@giO?RFiYKH^Ye3D1hg3yz)Xx-S8RJXpd} zbC07SuFYd)8=KvFTVy_VofLsVfm)>^qVziY00}8I6I)wDB5kEVq9JwSJEBM1c~|3) zNny)-Zsj=_7kubv=z2YTD;F(R0=x^k%m3)3sBrgs6ijt-n{)7O2DdB2?T4Hj_Xv+pLCE=X;edL;y6Q05)aajKfCn2{B z%~8tN9eE`hm~i4hF))ytl7a*ftiLLkyo-tHe{E6cibG~fwI zIC1)J9N3wibU8+i;T$>e3lCBVKFtkPcWr)x&y2?7RlHZeb1DI>8sirMhw_M=#uH~k z_^u&f_C7r`1?ODvbWi(hv(hJ^i)Ru=8Gy z>lJw-_5Q7%3~QJ|5WxKbbD$9?!O&DbX7OwAZM^MSEv|2eyiJn6YL2`;FlQD&P4zDFGK${t&L$(3qaUPhAAYJ2$AE4@xBFupb)2*wej}rCMFa+Km^kHGHGbRN-oDEioU%i(`!eOY z0RG^oM&i-x%we}{jm>!2CXC79={Z(|18qJ^k+Ph9$zl=Vv|KM;E5=zTxm{U$qL8ht zZZybzu88evATp^&a3Qqq(mr)mP{bA8`9_JT{rN$hHI>^-C5-D5Yir7+@BY_jric8( zM9rlU9s~pYat4|P*UK1)Of5>c=XmxFbZ#aow`ut&JvH^=Ebi!tOc!fi$^8{cq)vPj zJCN4B#!xXxF6q8c#CCp(NRP&Ux9j@xJP2SX2&iyV9c|4UIrR2Xx6$>wE9&<&#?7a? zsuJE_0gj0*ro;_0X6*7Ln-rWkX$c7pRwM;^**NzHP;iRjQ;Kn&7cG?{e1dP|_+!*S zxJO1wU!@uZA<{@1^bxH>8s4O_~5~*yT)ay86qrl*xi`x^% zU!0(FN(MYoW##)zD9?s%^&}ZCE)I_(7zGU%lzd>kWonP0hQ|A1t;_vL1U{l;;d$6U z0S%CrR(8KQ3FojS%kI5Bv32#rY6_(Rj*ACh7P)7X8u5-;vTUe`0+c}=T-4Oj>71Y~ zIwxc0T^6)JnBsm4sAhw){b9>9+xIFIGOQ;m+cVHe5B;ZX2o-x{eor_}OlL(i@;~Cs z7W#$Ks})7ib>nfsCzL+2kgBT7G7QmP{y8Mnv<$X?>b1M1pcLtPGO-fSjW~(uTmuIH zQW%_kif!Gj*@DP+J-usci|@uOvnB;opbB<~pVdD3BLE4GqX96rH6o7bKT|)gGYOmV3hIGcvr^yiY8It2K0kF8=Styg8GpNT=t5&}Fl zwicCO(mTK#F;|&e)!_y!*x80m;L_~}Rw}Q_PZFJ#Kb^`4}H%MFCzv(lV zQR`=d&#_3lN@dF%Xl3C{#h;&Cma~lf^L(NRoWN3@3rkm+K+PvcdT0CjxGadVHR;^vQu_rvN0g{ICGl4F}Tb=F+s4jV~$Cbk@uyAPW$ z-hnFIyN%6J#5)}r@!o-T`azW(>@3{~fnSsx$lYdeF$H=dqFhJ26mmm#WIG;;{N3!q zw$rBlFT5(5D#jRI;CqojJ_vJA{AcpyfKb<^+AT%NP$||AhO?WSCYJWP!f_$yZ%rH? z(o_3PE8fs;e9_i;9`pe^fXFnWQG4tEcbD9<&m_{L@q=bZojA>}@^6klpG!x<&xaPi z%`5F(*Gr8a*8NOR)AcZ>Z3zpV%w3kDI!#D9?`n+qT0)(#oV-0L4EtyHoWhXWKG$$1 z?iBl!mlSc83h)B396>xh1Sae8_hxjPDT!|ec(4b{%*S_q+Jqf+;0GcgzzE!l^zjLt}l$ZOyB;F-3Fe!`j*3m%Y8%N=N8TS#ZI4+kZ zeO3%Ytx$cYBjlf*FswLqUD6*tb{)x;a_wg>x?#+J-32;1h~+&O+}d++Rq@HNkI476 zVsX;>n#xA#1EnRERfDCZa@yv@1m(3+!Fx!29<$Ik_|_`brTnjfYHO^|H6sY8uyvA< zKmV@*IwP)n;ap-1CGGxin3I{V;nwOc6^w)siH0-iPhi+z`kI*M7nT zLb-iemT7(MErvJYt@&j|-t+0VsZ)RbPBjdjbW;G?_ z(|ut{u=lPr|KyM|TH@@z3T-~{6Q3bQEVu*2+5ahv4XQ84&Vt7+&HDd`qIo%$i|=nm zxFcbIT`nK8d<5|jxZ((n7S7pP1xBU*f4=3huYInimT)Q{TrbOV&bM4HK=&;xnzZ-m z?F9>`G_U{l#q6y3W%t_WTAu`)AZ~NG_0S(ctY7rr9(!vEM}XpuNIm`E+KKmEmhjF? z3T#JV_WO?KZvqLec+%}7i1UTVR7Rxy{x!;JQ5$bPY&b9_!LH{F<#h3L0s7dG%F$3j zg;CLDKI#9YWMIXy6!pFJ&|yRt5diq5L{ypJ&#)Ag>03ygd0X<|P9%>iOAUD}-S~vR z1L6g0`Mo&-oicDPP+QXh;Wr7zrrv)Yx%;dwsJGrE`5HGJfJv^rnhjGxl3WRZ5bz&h zg#((oRW7&F<$s$#m9YqWc-@q`x3Q9@l-=lC_08G2c;U;xvE{Y%U2H{`(weEeZ&;Vk z8+;X(XdHK+N2~)z{I&sMKI%(>$kzg6x9S9cQX}s%a}c_pYHp!CVhhV7()WWsY*&A( e5%q@?j)znfAT=3dKD-4GJ_fo*I(3A+f&T-=CWV&( literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..b1e1264 --- /dev/null +++ b/public/index.html @@ -0,0 +1,137 @@ + + + + + + Hitstar Web + + + + +

+ + + + diff --git a/public/style.css b/public/style.css new file mode 100644 index 0000000..9dd08da --- /dev/null +++ b/public/style.css @@ -0,0 +1,37 @@ +:root { color-scheme: light dark; } +html { -webkit-text-size-adjust: 100%; touch-action: manipulation; } +body { font-family: system-ui, sans-serif; margin: 0 auto; padding: 1rem; padding-bottom: calc(1rem + env(safe-area-inset-bottom)); max-width: 960px; } +h1 { margin-top: 0; } +.card { border: 1px solid #8884; padding: 1rem; border-radius: 12px; margin-bottom: 1rem; } +.row { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; } +.row.space { justify-content: space-between; } +.hidden { display: none; } +.muted { opacity: .7; font-size: .9em; } +button, input, select { padding: .7rem 1rem; min-height: 44px; font-size: 1rem; border-radius: 10px; } +button { cursor: pointer; } +input, select { border: 1px solid #8884; background: inherit; color: inherit; } +.timeline { display: flex; gap: .75rem; flex-wrap: wrap; padding: .75rem; border: 1px dashed #8886; min-height: 64px; border-radius: 12px; } +.chip { padding: .25rem .5rem; border-radius: 999px; border: 1px solid #8886; } +.np { display: grid; grid-template-columns: 1fr; gap: .5rem; align-items: center; margin: .5rem 0; } +.track-card { display: flex; align-items: center; gap: .5rem; border: 1px solid #8885; border-radius: 8px; padding: .4rem .6rem; background: #fff; color: #000; box-shadow: 0 1px 2px #0001; } +@media (prefers-color-scheme: dark) { + .track-card { background: #1b1b1b; color: #eee; border-color: #ffffff22; box-shadow: 0 1px 2px #0005; } +} +.year-badge { font-weight: 700; font-variant-numeric: tabular-nums; background: #6200ee; color: white; border-radius: 6px; padding: .15rem .4rem; min-width: 3ch; text-align: center; } +.track-info { display: grid; line-height: 1.2; } +.track-title { font-weight: 600; } +.track-artist { opacity: .8; font-size: .9em; } + +@media (max-width: 800px) { + body { padding: .75rem; } + h1 { font-size: 1.5rem; } + .row { gap: .5rem; } + .timeline { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; } + .track-card { flex: 0 0 auto; scroll-snap-align: start; padding: .6rem .8rem; min-width: 220px; } + .year-badge { padding: .2rem .5rem; } + #placeArea { position: sticky; bottom: 0; left: 0; right: 0; padding: .5rem; gap: .5rem; background: color-mix(in srgb, Canvas 92%, transparent); backdrop-filter: blur(6px); border: 1px solid #8883; border-radius: 12px; box-shadow: 0 -4px 12px #0002; z-index: 10; } + #placeArea button { flex: 1 1 auto; } + #placeArea select { flex: 2 1 auto; min-width: 40vw; } +} +.banner-ok { background: #1b5e20; color: white; padding: .5rem .75rem; border-radius: 6px; } +.banner-bad { background: #b71c1c; color: white; padding: .5rem .75rem; border-radius: 6px; } diff --git a/scripts/resolve-years.js b/scripts/resolve-years.js new file mode 100644 index 0000000..21d5aac --- /dev/null +++ b/scripts/resolve-years.js @@ -0,0 +1,309 @@ +// Resolve earliest release year for songs in data/ using MusicBrainz +// Usage: node scripts/resolve-years.js [--max N] [--force] +// Respects MusicBrainz 1 req/sec guideline and caches results. + +import fs from 'fs'; +import fsp from 'fs/promises'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { parseFile as mmParseFile } from 'music-metadata'; +import { setTimeout as wait } from 'timers/promises'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const ROOT = path.resolve(__dirname, '..'); +const DATA_DIR = path.join(ROOT, 'data'); +const OUT_JSON = path.join(DATA_DIR, 'years.json'); +const CACHE_JSON = path.join(DATA_DIR, '.mb_cache.json'); + +const CONTACT = process.env.MB_CONTACT || 'local'; +const USER_AGENT = `hitstar-years/0.1.0 (${CONTACT})`; + +const args = new Set(process.argv.slice(2)); +function getArgValue(name, defVal) { + const i = process.argv.findIndex((a) => a === name || a.startsWith(name + '=')); + if (i === -1) return defVal; + const a = process.argv[i]; + if (a.includes('=')) return a.split('=')[1]; + return process.argv[i + 1] && !process.argv[i + 1].startsWith('--') ? process.argv[i + 1] : defVal; +} +const MAX = parseInt(getArgValue('--max', '0'), 10) || 0; +const FORCE = args.has('--force'); +const FILE_FILTER = getArgValue('--file', '').toLowerCase(); + +function normalize(str) { + if (!str) return ''; + let s = String(str) + .replace(/\s*\([^)]*(feat\.|ft\.|featuring)[^)]*\)/gi, '') // remove (feat. ...) + .replace(/\s*\[(?:radio edit|remaster(?:ed)?(?: \d{2,4})?|single version|album version|mono|stereo|live|version)\]/gi, '') + .replace(/\s*-\s*(?:radio edit|remaster(?:ed)?(?: \d{2,4})?|single version|album version|mono|stereo|live|version)\b/gi, '') + .replace(/\s*\((?:radio edit|remaster(?:ed)?(?: \d{2,4})?|single version|album version|mono|stereo|live|version|short mix|original mix|201\d remaster|20\d\d remaster)\)/gi, '') + .replace(/\s*&\s*/g, ' and ') + .replace(/\s+feat\.?\s+/gi, ' ') + .replace(/\s+ft\.?\s+/gi, ' ') + .replace(/[“”]/g, '"') + .replace(/[’‘']/g, "'") + .replace(/[^a-z0-9'"\s]/gi, ' ') + .replace(/\s+/g, ' ') + .trim() + .toLowerCase(); + // remove trailing quotes or hyphens + // trim leading/trailing dashes/spaces + s = s.replace(/^[-\s]+/, '').replace(/[-\s]+$/, ''); + return s; +} + +function parseFromFilename(file) { + const base = path.parse(file).name; + const m = base.match(/^(.*?)\s+-\s+(.*)$/); // Artist - Title + if (m) { + return { artist: m[1].trim(), title: m[2].trim() }; + } + return { artist: '', title: base }; +} + +async function getMeta(fp) { + try { + const meta = await mmParseFile(fp, { duration: true }); + return { + title: meta.common.title || '', + artist: meta.common.artist || '', + durationMs: Number.isFinite(meta.format.duration) ? Math.round(meta.format.duration * 1000) : null, + yearTag: meta.common.year || null, + }; + } catch { + return { title: '', artist: '', durationMs: null, yearTag: null }; + } +} + +async function readCache() { + try { + const j = JSON.parse(await fsp.readFile(CACHE_JSON, 'utf8')); + return j || {}; + } catch { return {}; } +} + +async function writeCache(cache) { + await fsp.writeFile(CACHE_JSON, JSON.stringify(cache, null, 2)); +} + +function similar(a, b) { + a = normalize(a); b = normalize(b); + if (!a || !b) return 0; + if (a === b) return 1; + // simple token overlap Jaccard + const as = new Set(a.split(' ')); + const bs = new Set(b.split(' ')); + const inter = [...as].filter((x) => bs.has(x)).length; + const union = new Set([...as, ...bs]).size; + return inter / union; +} + +async function mbFetchJson(url, retries = 3) { + for (let i = 0; i < retries; i++) { + const res = await fetch(url, { headers: { 'User-Agent': USER_AGENT, 'Accept': 'application/json' } }); + if (res.status === 503 || res.status === 429) { + const ra = Number(res.headers.get('Retry-After')) || 2; + await wait(ra * 1000); + continue; + } + if (!res.ok) { + const text = await res.text().catch(() => ''); + throw new Error(`HTTP ${res.status} ${res.statusText} - ${text}`); + } + return res.json(); + } + throw new Error('Failed after retries'); +} + +async function searchRecording(artist, title) { + const q = `recording:"${title}" AND artist:"${artist}"`; + const url = `https://musicbrainz.org/ws/2/recording?fmt=json&limit=25&query=${encodeURIComponent(q)}`; + const json = await mbFetchJson(url); + await wait(1300); // rate limit + return json.recordings || []; +} + +async function getRecordingDetails(mbid) { + const url = `https://musicbrainz.org/ws/2/recording/${encodeURIComponent(mbid)}?fmt=json&inc=releases+artist-credits`; + const json = await mbFetchJson(url); + await wait(1300); // rate limit + return json; +} + +function pickBestRecording(candidates, artist, title, durationMs) { + const nArtist = normalize(artist); + const nTitle = normalize(title); + let best = null; + let bestScore = -Infinity; + const viable = []; + for (const r of candidates) { + const rTitle = r.title || ''; + const rArtists = (r['artist-credit'] || []).map((ac) => ac.name || ac.artist?.name).filter(Boolean).join(' '); + const titleSim = similar(rTitle, nTitle); + const artistSim = similar(rArtists, nArtist); + let score = (r.score || 0) / 100 + titleSim * 1.5 + artistSim * 1.2; + if (durationMs && r.length) { + const diff = Math.abs(r.length - durationMs); + const durScore = Math.max(0, 1 - Math.min(diff, 15000) / 15000); // within 15s window + score += durScore * 0.8; + } + // Prefer those with more releases (more evidence) + if (Array.isArray(r.releases)) score += Math.min(5, r.releases.length) * 0.05; + const firstYear = parseDateToYear(r['first-release-date']); + if (firstYear) { + // Tiny bias towards older original releases + const ageBias = Math.max(0, 2100 - firstYear) / 2100; // ~0.5 for 1050, ~0.95 for 100 + score += ageBias * 0.3; + } + if (score > bestScore) { bestScore = score; best = r; } + if (titleSim >= 0.55 && artistSim >= 0.55) { + viable.push({ r, firstYear: firstYear || null, titleSim, artistSim, score }); + } + } + // Among viable matches, prefer the one with the earliest known first release year + const withYear = viable.filter((v) => v.firstYear); + if (withYear.length) { + withYear.sort((a, b) => a.firstYear - b.firstYear || b.score - a.score); + return withYear[0].r; + } + return best; +} + +function parseDateToYear(dateStr) { + if (!dateStr) return null; + const re = /^(\d{4})/; + const m = re.exec(String(dateStr)); + return m ? Number(m[1]) : null; +} + +function earliestDate(dates) { + const valid = dates.filter(Boolean).map((d) => ({ d, y: parseDateToYear(d) })).filter((x) => x.y); + if (!valid.length) return { date: null, year: null }; + valid.sort((a, b) => { + if (a.d < b.d) return -1; + if (a.d > b.d) return 1; + return 0; + }); + return { date: valid[0].d, year: valid[0].y }; +} + +async function resolveOne(file, meta, cache) { + const key = `${normalize(meta.artist)}|${normalize(meta.title)}`; + if (!FORCE && cache[key]) return { ...cache[key], fromCache: true }; + if (!meta.artist || !meta.title) throw new Error('Missing artist/title'); + + const recs = await searchRecording(meta.artist, meta.title); + if (!recs.length) throw new Error('No recordings found'); + const best = pickBestRecording(recs, meta.artist, meta.title, meta.durationMs); + if (!best) throw new Error('No suitable match'); + let firstDate = best['first-release-date'] || null; + let year = parseDateToYear(firstDate); + // If no year on best, or if best appears to be a later reissue, inspect more candidates + const viable = recs + .map((r) => ({ + r, + titleSim: similar(r.title || '', meta.title), + artistSim: similar((r['artist-credit'] || []).map((ac) => ac.name || ac.artist?.name).filter(Boolean).join(' '), meta.artist), + firstYear: parseDateToYear(r['first-release-date']) || null, + })) + .filter((v) => v.titleSim >= 0.5 && v.artistSim >= 0.5); + + // Determine earliest among top candidates, fetching details when missing + let earliest = { year: year || Infinity, date: firstDate || null, id: best.id }; + const detailsBudget = 5; // limit extra calls per track + let detailsUsed = 0; + for (const v of viable.slice(0, 10)) { + let y = v.firstYear; + let d = v.r['first-release-date'] || null; + if (!y && detailsUsed < detailsBudget) { + try { + const details = await getRecordingDetails(v.r.id); + detailsUsed++; + const dates = (details.releases || []).map((re) => re.date || re['release-events']?.[0]?.date || null); + const er = earliestDate(dates); + y = er.year; + d = er.date; + } catch {} + } + if (y && y < (earliest.year || Infinity)) { + earliest = { year: y, date: d, id: v.r.id }; + } + } + if (earliest.year && earliest.year !== year) { + year = earliest.year; + firstDate = earliest.date; + } + const result = { + file, + title: meta.title, + artist: meta.artist, + mbid: earliest.id || best.id, + earliestDate: firstDate, + year, + confidence: { + mbScore: best.score || null, + titleSim: similar(best.title || '', meta.title), + artistSim: similar((best['artist-credit'] || []).map((ac) => ac.name || ac.artist?.name).filter(Boolean).join(' '), meta.artist), + durationMs: meta.durationMs, + matchedDurationMs: best.length || null, + }, + }; + cache[key] = result; + return result; +} + +async function main() { + console.log('Scanning data dir:', DATA_DIR); + let files = fs.readdirSync(DATA_DIR).filter((f) => /\.(mp3|wav|m4a|ogg)$/i.test(f)); + if (FILE_FILTER) { + files = files.filter((f) => f.toLowerCase().includes(FILE_FILTER)); + } + if (!files.length) { + console.error('No audio files in data/.'); + process.exit(1); + } + const cache = await readCache(); + const results = []; + + let count = 0; + for (const f of files) { + if (MAX && count >= MAX) break; + const fp = path.join(DATA_DIR, f); + const fromName = parseFromFilename(f); + const tags = await getMeta(fp); + const artist = tags.artist || fromName.artist; + const title = tags.title || fromName.title; + const meta = { artist, title, durationMs: tags.durationMs }; + count++; + console.log(`\n[${count}/${MAX || files.length}] ${f}`); + console.log(` -> ${artist} — ${title}`); + try { + const r = await resolveOne(f, meta, cache); + results.push(r); + console.log(` ✓ Earliest: ${r.earliestDate || 'n/a'} (year=${r.year || 'n/a'}) [${r.fromCache ? 'cache' : 'MB'}]`); + } catch (e) { + console.warn(' ! Failed:', e.message); + results.push({ file: f, title, artist, mbid: null, earliestDate: null, year: null, error: e.message }); + } + } + + // Build index by file + const byFile = Object.fromEntries(results.map((r) => [r.file, { year: r.year, date: r.earliestDate, title: r.title, artist: r.artist, mbid: r.mbid }])); + const out = { generatedAt: new Date().toISOString(), total: results.length, byFile, results }; + await fsp.writeFile(OUT_JSON, JSON.stringify(out, null, 2)); + await writeCache(cache); + console.log(`\nWritten ${OUT_JSON} with ${results.length} entries.`); + console.log('Cache saved:', path.basename(CACHE_JSON)); +} + +// Ensure fetch exists in Node <18 +if (typeof fetch === 'undefined') { + const { default: undici } = await import('undici'); + global.fetch = undici.fetch; +} + +main().catch((e) => { + console.error(e); + process.exit(1); +}); diff --git a/server.js b/server.js new file mode 100644 index 0000000..73ef5d7 --- /dev/null +++ b/server.js @@ -0,0 +1,482 @@ +import express from 'express'; +import { WebSocketServer } from 'ws'; +import http from 'http'; +import path from 'path'; +import fs from 'fs'; +import { fileURLToPath } from 'url'; +import { v4 as uuidv4 } from 'uuid'; +import mime from 'mime'; +import { parseFile as mmParseFile } from 'music-metadata'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +// Config +const PORT = process.env.PORT || 5173; +const DATA_DIR = path.resolve(__dirname, 'data'); +const PUBLIC_DIR = path.resolve(__dirname, 'public'); +const YEARS_PATH = path.join(DATA_DIR, 'years.json'); + +// Ensure data dir exists +if (!fs.existsSync(DATA_DIR)) { + fs.mkdirSync(DATA_DIR, { recursive: true }); +} + +const app = express(); +// Load years.json helper +function loadYearsIndex() { + try { + const raw = fs.readFileSync(YEARS_PATH, 'utf8'); + const j = JSON.parse(raw); + if (j && j.byFile && typeof j.byFile === 'object') return j.byFile; + } catch {} + return {}; +} +let YEARS_INDEX = loadYearsIndex(); + +app.get('/api/reload-years', (req, res) => { + YEARS_INDEX = loadYearsIndex(); + res.json({ ok: true, count: Object.keys(YEARS_INDEX).length }); +}); + +// Static files +app.use(express.static(PUBLIC_DIR)); + +// Serve audio files safely from data folder with byte-range support +app.head('/audio/:name', (req, res) => { + const name = req.params.name; + const filePath = path.join(DATA_DIR, name); + if (!filePath.startsWith(DATA_DIR)) { + return res.status(400).end(); + } + if (!fs.existsSync(filePath)) { + return res.status(404).end(); + } + const stat = fs.statSync(filePath); + const type = mime.getType(filePath) || 'audio/mpeg'; + res.setHeader('Accept-Ranges', 'bytes'); + res.setHeader('Content-Type', type); + res.setHeader('Content-Length', stat.size); + res.setHeader('Cache-Control', 'no-store'); + return res.status(200).end(); +}); + +app.get('/audio/:name', (req, res) => { + const name = req.params.name; + const filePath = path.join(DATA_DIR, name); + if (!filePath.startsWith(DATA_DIR)) { + return res.status(400).send('Invalid path'); + } + if (!fs.existsSync(filePath)) { + return res.status(404).send('Not found'); + } + const stat = fs.statSync(filePath); + const range = req.headers.range; + const type = mime.getType(filePath) || 'audio/mpeg'; + res.setHeader('Accept-Ranges', 'bytes'); + res.setHeader('Cache-Control', 'no-store'); + if (range) { + const match = /bytes=(\d+)-(\d+)?/.exec(range); + let start = match && match[1] ? parseInt(match[1], 10) : 0; + let end = match && match[2] ? parseInt(match[2], 10) : stat.size - 1; + if (Number.isNaN(start)) start = 0; + if (Number.isNaN(end)) end = stat.size - 1; + // Clamp and validate + start = Math.min(Math.max(0, start), Math.max(0, stat.size - 1)); + end = Math.min(Math.max(start, end), Math.max(0, stat.size - 1)); + if (start > end || start >= stat.size) { + res.setHeader('Content-Range', `bytes */${stat.size}`); + return res.status(416).end(); + } + const chunkSize = end - start + 1; + res.writeHead(206, { + 'Content-Range': `bytes ${start}-${end}/${stat.size}`, + 'Content-Length': chunkSize, + 'Content-Type': type, + }); + fs.createReadStream(filePath, { start, end }).pipe(res); + } else { + res.writeHead(200, { + 'Content-Length': stat.size, + 'Content-Type': type, + }); + fs.createReadStream(filePath).pipe(res); + } +}); + +// List tracks with minimal metadata +app.get('/api/tracks', async (req, res) => { + try { + const files = fs + .readdirSync(DATA_DIR) + .filter((f) => /\.(mp3|wav|m4a|ogg)$/i.test(f)); + const tracks = await Promise.all( + files.map(async (f) => { + const fp = path.join(DATA_DIR, f); + let year = null; + let title = path.parse(f).name; + let artist = ''; + try { + const meta = await mmParseFile(fp, { duration: false }); + title = meta.common.title || title; + artist = meta.common.artist || artist; + year = meta.common.year || null; + } catch {} + const y = YEARS_INDEX[f]?.year ?? year; + return { id: f, file: f, title, artist, year: y }; + }) + ); + res.json({ tracks }); + } catch (e) { + res.status(500).json({ error: e.message }); + } +}); + +const server = http.createServer(app); + +// --- Game State --- +const rooms = new Map(); // roomId -> { id, name, hostId, players: Map, state } + +function createRoom(name, host) { + const id = (Math.random().toString(36).slice(2, 8)).toUpperCase(); + const room = { + id, + name: name || `Room ${id}`, + hostId: host.id, + players: new Map([[host.id, host]]), + deck: [], + discard: [], + revealTimer: null, + syncTimer: null, + state: { + status: 'lobby', // lobby | playing | ended + turnOrder: [], + currentGuesser: null, + currentTrack: null, + timeline: {}, // playerId -> [{trackId, year, title, artist}] + tokens: {}, // playerId -> number + ready: { [host.id]: false }, // playerId -> boolean + phase: 'guess', // 'guess' | 'reveal' + lastResult: null, // { playerId, correct } + trackStartAt: null, // ms epoch for synced start time + paused: false, + pausedPosSec: 0, + goal: 10, + }, + }; + rooms.set(id, room); + return room; +} + +function broadcast(room, type, payload) { + for (const p of room.players.values()) { + try { + p.ws.send(JSON.stringify({ type, ...payload })); + } catch {} + } +} + +function roomSummary(room) { + return { + id: room.id, + name: room.name, + hostId: room.hostId, + players: [...room.players.values()].map((p) => ({ + id: p.id, + name: p.name, + connected: p.connected, + ready: !!room.state.ready?.[p.id], + })), + state: room.state, + }; +} + +async function loadDeck() { + // Load directly from DATA_DIR to avoid HTTP dependency + const files = fs + .readdirSync(DATA_DIR) + .filter((f) => /\.(mp3|wav|m4a|ogg)$/i.test(f)); + const tracks = await Promise.all( + files.map(async (f) => { + const fp = path.join(DATA_DIR, f); + let year = null; + let title = path.parse(f).name; + let artist = ''; + try { + const meta = await mmParseFile(fp, { duration: false }); + title = meta.common.title || title; + artist = meta.common.artist || artist; + year = meta.common.year || null; + } catch {} + const y = YEARS_INDEX[f]?.year ?? year; + return { id: f, file: f, title, artist, year: y }; + }) + ); + return tracks; +} + +function nextPlayer(turnOrder, currentId) { + if (!turnOrder.length) return null; + if (!currentId) return turnOrder[0]; + const idx = turnOrder.indexOf(currentId); + return turnOrder[(idx + 1) % turnOrder.length]; +} + +function shuffle(arr) { + const a = [...arr]; + for (let i = a.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [a[i], a[j]] = [a[j], a[i]]; + } + return a; +} + +function startSyncTimer(room) { + if (room.syncTimer) clearInterval(room.syncTimer); + room.syncTimer = setInterval(() => { + if (room.state.status !== 'playing' || !room.state.currentTrack || !room.state.trackStartAt || room.state.paused) return; + broadcast(room, 'sync', { startAt: room.state.trackStartAt, serverNow: Date.now() }); + }, 1000); +} + +function stopSyncTimer(room) { + if (room.syncTimer) { clearInterval(room.syncTimer); room.syncTimer = null; } +} + +function drawNextTrack(room) { + const track = room.deck.shift(); + if (!track) { + room.state.status = 'ended'; + room.state.winner = null; // deck exhausted + broadcast(room, 'game_ended', { winner: null }); + return; + } + room.state.currentTrack = { ...track, url: `/audio/${encodeURIComponent(track.file)}` }; + room.state.phase = 'guess'; + room.state.lastResult = null; + room.state.paused = false; + room.state.pausedPosSec = 0; + room.state.trackStartAt = Date.now() + 800; // synchronized start in ~0.8s + broadcast(room, 'play_track', { track: room.state.currentTrack, startAt: room.state.trackStartAt, serverNow: Date.now() }); + broadcast(room, 'room_update', { room: roomSummary(room) }); + startSyncTimer(room); +} + +// WebSocket handling +const wss = new WebSocketServer({ server }); + +wss.on('connection', (ws) => { + const id = uuidv4(); + const player = { id, name: `Player-${id.slice(0, 4)}`, ws, connected: true, roomId: null }; + + function send(type, payload) { + try { ws.send(JSON.stringify({ type, ...payload })); } catch {} + } + + send('connected', { playerId: id }); + + ws.on('message', async (raw) => { + let msg; + try { msg = JSON.parse(raw.toString()); } catch { return; } + + if (msg.type === 'player_control') { + const room = rooms.get(player.roomId); + if (!room) return; + const { action } = msg; // 'play' | 'pause' + if (room.state.status !== 'playing') return; + if (room.state.phase !== 'guess') return; // control only while guessing + if (room.state.currentGuesser !== player.id) return; // only current guesser controls + if (!room.state.currentTrack) return; + if (action !== 'play' && action !== 'pause') return; + if (action === 'pause') { + if (!room.state.paused) { + const now = Date.now(); + if (room.state.trackStartAt) { + room.state.pausedPosSec = Math.max(0, (now - room.state.trackStartAt) / 1000); + } + room.state.paused = true; + stopSyncTimer(room); + } + broadcast(room, 'control', { action: 'pause' }); + } else if (action === 'play') { + const now = Date.now(); + const posSec = room.state.paused ? room.state.pausedPosSec : Math.max(0, (now - (room.state.trackStartAt || now)) / 1000); + room.state.trackStartAt = now - Math.floor(posSec * 1000); + room.state.paused = false; + startSyncTimer(room); + broadcast(room, 'control', { action: 'play', startAt: room.state.trackStartAt, serverNow: now }); + } + return; + } + + if (msg.type === 'set_name') { + player.name = String(msg.name || '').slice(0, 30) || player.name; + if (player.roomId && rooms.has(player.roomId)) { + broadcast(rooms.get(player.roomId), 'room_update', { room: roomSummary(rooms.get(player.roomId)) }); + } + return; + } + + if (msg.type === 'create_room') { + const room = createRoom(msg.name, player); + player.roomId = room.id; + broadcast(room, 'room_update', { room: roomSummary(room) }); + return; + } + + if (msg.type === 'join_room') { + const code = String(msg.code || '').toUpperCase(); + const room = rooms.get(code); + if (!room) return send('error', { message: 'Room not found' }); + room.players.set(player.id, player); + player.roomId = room.id; + room.state.ready[player.id] = false; + broadcast(room, 'room_update', { room: roomSummary(room) }); + return; + } + + if (msg.type === 'leave_room') { + if (!player.roomId) return; + const room = rooms.get(player.roomId); + if (!room) return; + room.players.delete(player.id); + player.roomId = null; + if (room.state.ready) delete room.state.ready[player.id]; + if (room.players.size === 0) rooms.delete(room.id); + else broadcast(room, 'room_update', { room: roomSummary(room) }); + return; + } + + if (msg.type === 'set_ready') { + const room = rooms.get(player.roomId); + if (!room) return; + const value = !!msg.ready; + room.state.ready[player.id] = value; + broadcast(room, 'room_update', { room: roomSummary(room) }); + return; + } + + if (msg.type === 'start_game') { + const room = rooms.get(player.roomId); + if (!room) return; + if (room.hostId !== player.id) return send('error', { message: 'Only host can start' }); + // All players must be ready + const pids = [...room.players.keys()]; + const allReady = pids.every((pid) => !!room.state.ready?.[pid]); + if (!allReady) return send('error', { message: 'All players must be ready' }); + room.state.status = 'playing'; + room.state.turnOrder = shuffle(pids); + room.state.currentGuesser = room.state.turnOrder[0]; + room.state.timeline = Object.fromEntries(room.state.turnOrder.map((pid) => [pid, []])); + room.state.tokens = Object.fromEntries(room.state.turnOrder.map((pid) => [pid, 2])); + room.deck = shuffle(await loadDeck()); + room.discard = []; + room.state.phase = 'guess'; + room.state.lastResult = null; + // draw first track automatically + drawNextTrack(room); + return; + } + + // 'scan_track' is no longer used; server auto draws. + + if (msg.type === 'place_guess') { + const room = rooms.get(player.roomId); + if (!room) return; + const { position, slot: rawSlot } = msg; // 'before' | 'after' | slot index + if (room.state.status !== 'playing') return send('error', { message: 'Game not playing' }); + if (room.state.phase !== 'guess') return send('error', { message: 'Not accepting guesses now' }); + if (room.state.currentGuesser !== player.id) return send('error', { message: 'Not your turn' }); + // Simplified: if year known, check relative placement against player's timeline + const current = room.state.currentTrack; + if (!current) return send('error', { message: 'No current track' }); + const tl = room.state.timeline[player.id] || []; + const n = tl.length; + let slot = Number.isInteger(rawSlot) ? rawSlot : null; + if (slot == null) { + if (position === 'before') slot = 0; + else if (position === 'after') slot = n; + } + if (typeof slot !== 'number' || slot < 0 || slot > n) slot = n; // default to after + let correct = false; + if (current.year != null) { + if (n === 0) { + correct = slot === 0; // only one slot + } else { + const left = slot > 0 ? tl[slot - 1]?.year : null; + const right = slot < n ? tl[slot]?.year : null; + const leftOk = (left == null) || (current.year >= left); + const rightOk = (right == null) || (current.year <= right); + correct = leftOk && rightOk; + } + } + if (correct) { + // Insert at chosen slot; equal years allowed anywhere + const newTl = tl.slice(); + newTl.splice(slot, 0, { trackId: current.id, year: current.year, title: current.title, artist: current.artist }); + room.state.timeline[player.id] = newTl; + } else { + room.discard.push(current); + } + // Enter reveal phase (song keeps playing), announce result + room.state.phase = 'reveal'; + room.state.lastResult = { playerId: player.id, correct }; + broadcast(room, 'reveal', { result: room.state.lastResult, track: room.state.currentTrack }); + // Also push a room update so clients know we're in 'reveal' (for Next button visibility) + broadcast(room, 'room_update', { room: roomSummary(room) }); + // Win check after revealing + const tlNow = room.state.timeline[player.id] || []; + if (correct && tlNow.length >= room.state.goal) { + room.state.status = 'ended'; + room.state.winner = player.id; + // Inform game ended immediately + broadcast(room, 'game_ended', { winner: player.id }); + return; + } + // Manual advance: wait for 'next_track' + return; + } + + if (msg.type === 'earn_token') { + const room = rooms.get(player.roomId); + if (!room) return; + const tokens = room.state.tokens[player.id] ?? 0; + room.state.tokens[player.id] = Math.min(5, tokens + 1); + broadcast(room, 'room_update', { room: roomSummary(room) }); + return; + } + + if (msg.type === 'next_track') { + const room = rooms.get(player.roomId); + if (!room) return; + if (room.state.status !== 'playing') return; + if (room.state.phase !== 'reveal') return; // can only advance during reveal + const isAuthorized = player.id === room.hostId || player.id === room.state.currentGuesser; + if (!isAuthorized) return; + // Advance to next round + room.state.currentTrack = null; + room.state.trackStartAt = null; + room.state.paused = false; + room.state.pausedPosSec = 0; + stopSyncTimer(room); + room.state.currentGuesser = nextPlayer(room.state.turnOrder, room.state.currentGuesser); + room.state.phase = 'guess'; + broadcast(room, 'room_update', { room: roomSummary(room) }); + drawNextTrack(room); + return; + } + }); + + ws.on('close', () => { + player.connected = false; + if (player.roomId && rooms.has(player.roomId)) { + const room = rooms.get(player.roomId); + // Keep player in room but mark disconnected + broadcast(room, 'room_update', { room: roomSummary(room) }); + } + }); +}); + +server.listen(PORT, () => { + console.log(`Hitstar server running on http://localhost:${PORT}`); +}); diff --git a/tmp_tracks.json b/tmp_tracks.json new file mode 100644 index 0000000..a4c537f --- /dev/null +++ b/tmp_tracks.json @@ -0,0 +1 @@ +{"tracks":[{"id":"Akon - Lonely.mp3","file":"Akon - Lonely.mp3","title":"Lonely","artist":"Akon","year":2005},{"id":"Alessia Cara - Scars To Your Beautiful.mp3","file":"Alessia Cara - Scars To Your Beautiful.mp3","title":"Scars To Your Beautiful","artist":"Alessia Cara","year":2015},{"id":"Alicia Keys - Fallin'.mp3","file":"Alicia Keys - Fallin'.mp3","title":"Fallin'","artist":"Alicia Keys","year":2001},{"id":"Alicia Keys - No One.mp3","file":"Alicia Keys - No One.mp3","title":"No One","artist":"Alicia Keys","year":2007},{"id":"Alphaville - Forever Young.mp3","file":"Alphaville - Forever Young.mp3","title":"Forever Young","artist":"Alphaville","year":1984},{"id":"Alvaro Soler - La Cintura.mp3","file":"Alvaro Soler - La Cintura.mp3","title":"La Cintura","artist":"Alvaro Soler","year":2018},{"id":"Amii Stewart - Knock On Wood.mp3","file":"Amii Stewart - Knock On Wood.mp3","title":"Knock On Wood","artist":"Amii Stewart","year":1979},{"id":"Amy Winehouse - Rehab.mp3","file":"Amy Winehouse - Rehab.mp3","title":"Rehab","artist":"Amy Winehouse","year":2006},{"id":"Anastacia - Sick and Tired.mp3","file":"Anastacia - Sick and Tired.mp3","title":"Sick and Tired","artist":"Anastacia","year":2004},{"id":"Andreas Bourani - Auf uns.mp3","file":"Andreas Bourani - Auf uns.mp3","title":"Auf uns","artist":"Andreas Bourani","year":2014},{"id":"Annie Lennox - Why.mp3","file":"Annie Lennox - Why.mp3","title":"Why","artist":"Annie Lennox","year":2009},{"id":"Aqua - Barbie Girl.mp3","file":"Aqua - Barbie Girl.mp3","title":"Barbie Girl","artist":"Aqua","year":1997},{"id":"Aretha Franklin - Respect.mp3","file":"Aretha Franklin - Respect.mp3","title":"Respect","artist":"Aretha Franklin","year":1995},{"id":"Atomic Kitten - Whole Again.mp3","file":"Atomic Kitten - Whole Again.mp3","title":"Whole Again","artist":"Atomic Kitten","year":2003},{"id":"Avicii - Without You.mp3","file":"Avicii - Without You.mp3","title":"Without You","artist":"Avicii, Sandro Cavazza","year":2017},{"id":"Betty Everett - It's In The Kiss (The Shoop Shoop Song).mp3","file":"Betty Everett - It's In The Kiss (The Shoop Shoop Song).mp3","title":"It's In The Kiss (The Shoop Shoop Song)","artist":"Betty Everett","year":2010},{"id":"Beyoncé - Crazy In Love (feat. JAY-Z).mp3","file":"Beyoncé - Crazy In Love (feat. JAY-Z).mp3","title":"Crazy In Love (feat. JAY-Z)","artist":"Beyoncé, JAY Z","year":2003},{"id":"Bill Haley & His Comets - (We're Gonna) Rock Around The Clock (Single Version).mp3","file":"Bill Haley & His Comets - (We're Gonna) Rock Around The Clock (Single Version).mp3","title":"(We're Gonna) Rock Around The Clock (Single Version)","artist":"Bill Haley & His Comets","year":1955},{"id":"Bill Haley & His Comets - See You Later, Alligator.mp3","file":"Bill Haley & His Comets - See You Later, Alligator.mp3","title":"See You Later, Alligator","artist":"Bill Haley & His Comets","year":2008},{"id":"Bill Medley - (I've Had) The Time Of My Life (From Dirty Dancing Soundtrack).mp3","file":"Bill Medley - (I've Had) The Time Of My Life (From Dirty Dancing Soundtrack).mp3","title":"(I've Had) The Time Of My Life (From \"Dirty Dancing\" Soundtrack)","artist":"Bill Medley, Jennifer Warnes","year":1987},{"id":"Bill Ramsey - Zuckerpuppe (Aus der Bauchtanz-Truppe).mp3","file":"Bill Ramsey - Zuckerpuppe (Aus der Bauchtanz-Truppe).mp3","title":"Zuckerpuppe (Aus der Bauchtanz-Truppe)","artist":"Bill Ramsey","year":2014},{"id":"Billie Eilish - bad guy.mp3","file":"Billie Eilish - bad guy.mp3","title":"bad guy","artist":"Billie Eilish","year":2019},{"id":"Billy Idol - White Wedding.mp3","file":"Billy Idol - White Wedding.mp3","title":"White Wedding","artist":"Billy Idol","year":2003},{"id":"Billy Joel - Piano Man.mp3","file":"Billy Joel - Piano Man.mp3","title":"Piano Man","artist":"Billy Joel","year":2011},{"id":"Billy Swan - I Can Help.mp3","file":"Billy Swan - I Can Help.mp3","title":"I Can Help","artist":"Billy Swan","year":2010},{"id":"Black Eyed Peas - Where Is The Love.mp3","file":"Black Eyed Peas - Where Is The Love.mp3","title":"Where Is The Love?","artist":"Black Eyed Peas","year":2003},{"id":"Blümchen - Herz an Herz.mp3","file":"Blümchen - Herz an Herz.mp3","title":"Herz an Herz","artist":"Blümchen","year":2007},{"id":"Bob Marley & The Wailers - No Woman No Cry.mp3","file":"Bob Marley & The Wailers - No Woman No Cry.mp3","title":"No Woman No Cry","artist":"Bob Marley & The Wailers","year":2001},{"id":"Bob Sinclar - World Hold on (Children of the Sky) [Radio Edit].mp3","file":"Bob Sinclar - World Hold on (Children of the Sky) [Radio Edit].mp3","title":"World Hold on (Children of the Sky) [Radio Edit]","artist":"Bob Sinclar, Steve Edwards","year":2006},{"id":"Bon Jovi - It's My Life.mp3","file":"Bon Jovi - It's My Life.mp3","title":"It's My Life","artist":"Bon Jovi","year":2000},{"id":"Bonnie Tyler - It's A Heartache.mp3","file":"Bonnie Tyler - It's A Heartache.mp3","title":"It's A Heartache","artist":"Bonnie Tyler","year":2011},{"id":"Boston - More Than a Feeling.mp3","file":"Boston - More Than a Feeling.mp3","title":"More Than a Feeling","artist":"Boston","year":2009},{"id":"Brandy - The Boy Is Mine.mp3","file":"Brandy - The Boy Is Mine.mp3","title":"The Boy Is Mine","artist":"Brandy, Monica","year":1998},{"id":"Britney Spears - Oops!...I Did It Again.mp3","file":"Britney Spears - Oops!...I Did It Again.mp3","title":"Oops!...I Did It Again","artist":"Britney Spears","year":2004},{"id":"Bronski Beat - Smalltown Boy.mp3","file":"Bronski Beat - Smalltown Boy.mp3","title":"Smalltown Boy","artist":"Bronski Beat","year":1984},{"id":"Bruce Springsteen - Dancing In the Dark.mp3","file":"Bruce Springsteen - Dancing In the Dark.mp3","title":"Dancing In the Dark","artist":"Bruce Springsteen","year":1984},{"id":"Bryan Adams - Heaven.mp3","file":"Bryan Adams - Heaven.mp3","title":"Heaven","artist":"Bryan Adams","year":2005},{"id":"Bryan Ferry - Let's Stick Together (1999 Remastered Version).mp3","file":"Bryan Ferry - Let's Stick Together (1999 Remastered Version).mp3","title":"Let's Stick Together (1999 Remastered Version)","artist":"Bryan Ferry","year":2008},{"id":"Buddy Poke - Ab in den Süden.mp3","file":"Buddy Poke - Ab in den Süden.mp3","title":"Ab in den Süden","artist":"Buddy Poke","year":2014},{"id":"Captain Jack - Captain Jack (Short Mix).mp3","file":"Captain Jack - Captain Jack (Short Mix).mp3","title":"Captain Jack (Short Mix)","artist":"Captain Jack","year":2005},{"id":"Carly Simon - You're So Vain.mp3","file":"Carly Simon - You're So Vain.mp3","title":"You're So Vain","artist":"Carly Simon","year":2014},{"id":"Caterina Valente - Ganz Paris Traumt Von Der Liebe.mp3","file":"Caterina Valente - Ganz Paris Traumt Von Der Liebe.mp3","title":"Ganz Paris Traumt Von Der Liebe","artist":"Caterina Valente","year":2011},{"id":"Caterina Valente - Itsy Bitsy Teenie Weenie Honolulu Strand Bikini.mp3","file":"Caterina Valente - Itsy Bitsy Teenie Weenie Honolulu Strand Bikini.mp3","title":"Itsy Bitsy Teenie Weenie Honolulu Strand Bikini","artist":"Caterina Valente, Silvio Francesco","year":2011},{"id":"Céline Dion - My Heart Will Go On (Love Theme from Titanic).mp3","file":"Céline Dion - My Heart Will Go On (Love Theme from Titanic).mp3","title":"My Heart Will Go On (Love Theme from \"Titanic\")","artist":"Céline Dion","year":2008},{"id":"Cher - Believe.mp3","file":"Cher - Believe.mp3","title":"Believe","artist":"Cher","year":1998},{"id":"Chic - Le Freak (2018 Remaster).mp3","file":"Chic - Le Freak (2018 Remaster).mp3","title":"Le Freak (2018 Remaster)","artist":"Chic","year":2018},{"id":"Chicago - If You Leave Me Now (Remastered LP Version).mp3","file":"Chicago - If You Leave Me Now (Remastered LP Version).mp3","title":"If You Leave Me Now (Remastered LP Version)","artist":"Chicago","year":2007},{"id":"Christina Aguilera - Genie in a Bottle.mp3","file":"Christina Aguilera - Genie in a Bottle.mp3","title":"Genie in a Bottle","artist":"Christina Aguilera","year":1999},{"id":"Chubby Checker - The Twist.mp3","file":"Chubby Checker - The Twist.mp3","title":"The Twist","artist":"Chubby Checker","year":1962},{"id":"Chuck Berry - Johnny B. Goode.mp3","file":"Chuck Berry - Johnny B. Goode.mp3","title":"Johnny B. Goode","artist":"Chuck Berry","year":2000},{"id":"Cliff Richard - Congratulations (1998 Remaster).mp3","file":"Cliff Richard - Congratulations (1998 Remaster).mp3","title":"Congratulations (1998 Remaster)","artist":"Cliff Richard","year":2008},{"id":"Coldplay - Talk.mp3","file":"Coldplay - Talk.mp3","title":"Talk","artist":"Coldplay","year":2005},{"id":"Connie Francis - Schöner fremder Mann.mp3","file":"Connie Francis - Schöner fremder Mann.mp3","title":"Schöner fremder Mann","artist":"Connie Francis","year":1992},{"id":"Coolio - Gangsta's Paradise.mp3","file":"Coolio - Gangsta's Paradise.mp3","title":"Gangsta's Paradise","artist":"Coolio, L.V.","year":1995},{"id":"Corinne Bailey Rae - Put Your Records On.mp3","file":"Corinne Bailey Rae - Put Your Records On.mp3","title":"Put Your Records On","artist":"Corinne Bailey Rae","year":2006},{"id":"Cornelia Froboess - Pack Die Badehose Ein.mp3","file":"Cornelia Froboess - Pack Die Badehose Ein.mp3","title":"Pack Die Badehose Ein","artist":"Cornelia Froboess","year":2011},{"id":"Creedence Clearwater Revival - Have You Ever Seen The Rain.mp3","file":"Creedence Clearwater Revival - Have You Ever Seen The Rain.mp3","title":"Have You Ever Seen The Rain","artist":"Creedence Clearwater Revival","year":2014},{"id":"CRO - Einmal um die Welt.mp3","file":"CRO - Einmal um die Welt.mp3","title":"Einmal um die Welt","artist":"CRO","year":2012},{"id":"Crowded House - Don't Dream It's Over.mp3","file":"Crowded House - Don't Dream It's Over.mp3","title":"Don't Dream It's Over","artist":"Crowded House","year":2016},{"id":"Culture Beat - Mr. Vain.mp3","file":"Culture Beat - Mr. Vain.mp3","title":"Mr. Vain","artist":"Culture Beat","year":2012},{"id":"Culture Club - Karma Chameleon.mp3","file":"Culture Club - Karma Chameleon.mp3","title":"Karma Chameleon","artist":"Culture Club","year":2003},{"id":"Cyndi Lauper - True Colors.mp3","file":"Cyndi Lauper - True Colors.mp3","title":"True Colors","artist":"Cyndi Lauper","year":2003},{"id":"Daft Punk - One More Time (Short Radio Edit).mp3","file":"Daft Punk - One More Time (Short Radio Edit).mp3","title":"One More Time (Short Radio Edit)","artist":"Daft Punk","year":2000},{"id":"Danny and The Juniors - At The Hop.mp3","file":"Danny and The Juniors - At The Hop.mp3","title":"At The Hop","artist":"Danny and The Juniors","year":2014},{"id":"Daryl Hall & John Oates - Maneater.mp3","file":"Daryl Hall & John Oates - Maneater.mp3","title":"Maneater","artist":"Daryl Hall & John Oates","year":2005},{"id":"David Bowie - Space Oddity (1999 Remaster).mp3","file":"David Bowie - Space Oddity (1999 Remaster).mp3","title":"Space Oddity (1999 Remaster)","artist":"David Bowie","year":2002},{"id":"Dean Martin - That's Amore (2001 Remastered Version).mp3","file":"Dean Martin - That's Amore (2001 Remastered Version).mp3","title":"That's Amore (2001 Remastered Version)","artist":"Dean Martin","year":2012},{"id":"Diana Ross - Upside Down (Single Version).mp3","file":"Diana Ross - Upside Down (Single Version).mp3","title":"Upside Down (Single Version)","artist":"Diana Ross","year":2006},{"id":"Die Ärzte - Junge.mp3","file":"Die Ärzte - Junge.mp3","title":"Junge","artist":"Die Ärzte","year":2007},{"id":"Die Ärzte - Westerland.mp3","file":"Die Ärzte - Westerland.mp3","title":"Westerland","artist":"Die Ärzte","year":1988},{"id":"Die Doofen - MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version.mp3","file":"Die Doofen - MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version.mp3","title":"MIEF! (Nimm mich jetzt, auch wenn ich stinke) Video Version","artist":"Die Doofen","year":2014},{"id":"Die Firma - Die Eine.mp3","file":"Die Firma - Die Eine.mp3","title":"Die Eine","artist":"Die Firma","year":2013},{"id":"Die Prinzen - Alles nur geklaut.mp3","file":"Die Prinzen - Alles nur geklaut.mp3","title":"Alles nur geklaut","artist":"Die Prinzen","year":1997},{"id":"Die Toten Hosen - Tage wie diese.mp3","file":"Die Toten Hosen - Tage wie diese.mp3","title":"Tage wie diese","artist":"Die Toten Hosen","year":2012},{"id":"Dion - The Wanderer.mp3","file":"Dion - The Wanderer.mp3","title":"The Wanderer","artist":"Dion","year":2005},{"id":"Dire Straits - Walk Of Life.mp3","file":"Dire Straits - Walk Of Life.mp3","title":"Walk Of Life","artist":"Dire Straits","year":2005},{"id":"Dolly Parton - Jolene.mp3","file":"Dolly Parton - Jolene.mp3","title":"Jolene","artist":"Dolly Parton","year":2010},{"id":"Dr. Alban - Sing Hallelujah!.mp3","file":"Dr. Alban - Sing Hallelujah!.mp3","title":"Sing Hallelujah!","artist":"Dr. Alban","year":1992},{"id":"Drafi Deutscher - Marmor, Stein und Eisen bricht.mp3","file":"Drafi Deutscher - Marmor, Stein und Eisen bricht.mp3","title":"Marmor, Stein und Eisen bricht","artist":"Drafi Deutscher","year":1987},{"id":"Drake - Toosie Slide.mp3","file":"Drake - Toosie Slide.mp3","title":"Toosie Slide","artist":"Drake","year":2020},{"id":"Dschinghis Khan - Moskau (2007 Version).mp3","file":"Dschinghis Khan - Moskau (2007 Version).mp3","title":"Moskau (2007 Version)","artist":"Dschinghis Khan","year":2007},{"id":"Dua Lipa - Break My Heart.mp3","file":"Dua Lipa - Break My Heart.mp3","title":"Break My Heart","artist":"Dua Lipa","year":2020},{"id":"Duck Sauce - Barbra Streisand (Radio Edit).mp3","file":"Duck Sauce - Barbra Streisand (Radio Edit).mp3","title":"Barbra Streisand (Radio Edit)","artist":"Duck Sauce","year":2010},{"id":"Duffy - Mercy.mp3","file":"Duffy - Mercy.mp3","title":"Mercy","artist":"Duffy","year":2008},{"id":"Eagle-Eye Cherry - Save Tonight.mp3","file":"Eagle-Eye Cherry - Save Tonight.mp3","title":"Save Tonight","artist":"Eagle-Eye Cherry","year":1998},{"id":"Echt - Du trägst keine Liebe in dir.mp3","file":"Echt - Du trägst keine Liebe in dir.mp3","title":"Du trägst keine Liebe in dir","artist":"Echt","year":2002},{"id":"Eddy Grant - Gimme Hope Jo'Anna.mp3","file":"Eddy Grant - Gimme Hope Jo'Anna.mp3","title":"Gimme Hope Jo'Anna","artist":"Eddy Grant","year":2010},{"id":"Elton John - Your Song.mp3","file":"Elton John - Your Song.mp3","title":"Your Song","artist":"Elton John","year":2008},{"id":"Elvis Presley - Can't Help Falling in Love.mp3","file":"Elvis Presley - Can't Help Falling in Love.mp3","title":"Can't Help Falling in Love","artist":"Elvis Presley","year":1997},{"id":"Elvis Presley - Jailhouse Rock.mp3","file":"Elvis Presley - Jailhouse Rock.mp3","title":"Jailhouse Rock","artist":"Elvis Presley","year":1997},{"id":"Enrico Caruso - Rigoletto La Donna E' Mobile.mp3","file":"Enrico Caruso - Rigoletto La Donna E' Mobile.mp3","title":"Rigoletto: \"La Donna E' Mobile\"","artist":"Enrico Caruso","year":2014},{"id":"Enrique Iglesias - Could I Have This Kiss Forever.mp3","file":"Enrique Iglesias - Could I Have This Kiss Forever.mp3","title":"Could I Have This Kiss Forever","artist":"Enrique Iglesias, Whitney Houston","year":2000},{"id":"Enrique Iglesias - Do You Know (The Ping Pong Song).mp3","file":"Enrique Iglesias - Do You Know (The Ping Pong Song).mp3","title":"Do You Know? (The Ping Pong Song)","artist":"Enrique Iglesias","year":2008},{"id":"Enya - Orinoco Flow.mp3","file":"Enya - Orinoco Flow.mp3","title":"Orinoco Flow","artist":"Enya","year":1997},{"id":"Eric Carmen - Hungry Eyes (From Dirty Dancing Soundtrack).mp3","file":"Eric Carmen - Hungry Eyes (From Dirty Dancing Soundtrack).mp3","title":"Hungry Eyes (From \"Dirty Dancing\" Soundtrack)","artist":"Eric Carmen","year":1987},{"id":"Eric Prydz - Call On Me (Radio Edit).mp3","file":"Eric Prydz - Call On Me (Radio Edit).mp3","title":"Call On Me (Radio Edit)","artist":"Eric Prydz","year":2004},{"id":"Erma Franklin - Piece of My Heart.mp3","file":"Erma Franklin - Piece of My Heart.mp3","title":"Piece of My Heart","artist":"Erma Franklin","year":2009},{"id":"Eros Ramazzotti - Più bella cosa.mp3","file":"Eros Ramazzotti - Più bella cosa.mp3","title":"Più bella cosa","artist":"Eros Ramazzotti","year":1997},{"id":"Eurythmics - Sweet Dreams (Are Made of This).mp3","file":"Eurythmics - Sweet Dreams (Are Made of This).mp3","title":"Sweet Dreams (Are Made of This)","artist":"Eurythmics, Annie Lennox, Dave Stewart","year":2024},{"id":"Falco - Rock Me Amadeus.mp3","file":"Falco - Rock Me Amadeus.mp3","title":"Rock Me Amadeus","artist":"Falco","year":2007},{"id":"Fatboy Slim - Praise You.mp3","file":"Fatboy Slim - Praise You.mp3","title":"Praise You","artist":"Fatboy Slim","year":2019},{"id":"Fats Domino - Ain't That A Shame.mp3","file":"Fats Domino - Ain't That A Shame.mp3","title":"Ain't That A Shame","artist":"Fats Domino","year":2018},{"id":"Fettes Brot - Emanuela.mp3","file":"Fettes Brot - Emanuela.mp3","title":"Emanuela","artist":"Fettes Brot","year":2005},{"id":"Fine Young Cannibals - She Drives Me Crazy.mp3","file":"Fine Young Cannibals - She Drives Me Crazy.mp3","title":"She Drives Me Crazy","artist":"Fine Young Cannibals","year":1988},{"id":"Fleetwood Mac - Everywhere (2017 Remaster).mp3","file":"Fleetwood Mac - Everywhere (2017 Remaster).mp3","title":"Everywhere (2017 Remaster)","artist":"Fleetwood Mac","year":1987},{"id":"Freddy Quinn - Die Gitarre und das Meer (Single Version).mp3","file":"Freddy Quinn - Die Gitarre und das Meer (Single Version).mp3","title":"Die Gitarre und das Meer (Single Version)","artist":"Freddy Quinn","year":2004},{"id":"Freddy Quinn - Heimweh (Dort wo die Blumen blüh'n).mp3","file":"Freddy Quinn - Heimweh (Dort wo die Blumen blüh'n).mp3","title":"Heimweh (Dort wo die Blumen blüh'n)","artist":"Freddy Quinn","year":2004},{"id":"Fugees - Killing Me Softly With His Song.mp3","file":"Fugees - Killing Me Softly With His Song.mp3","title":"Killing Me Softly With His Song","artist":"Fugees","year":2010},{"id":"Genesis - No Son Of Mine.mp3","file":"Genesis - No Son Of Mine.mp3","title":"No Son Of Mine","artist":"Genesis","year":2004},{"id":"George Harrison - Got My Mind Set On You (Remastered 2004).mp3","file":"George Harrison - Got My Mind Set On You (Remastered 2004).mp3","title":"Got My Mind Set On You (Remastered 2004)","artist":"George Harrison","year":2007},{"id":"George Michael - I Knew You Were Waiting (For Me).mp3","file":"George Michael - I Knew You Were Waiting (For Me).mp3","title":"I Knew You Were Waiting (For Me)","artist":"George Michael, Aretha Franklin","year":2011},{"id":"Gipsy Kings - Volare (Nel Blu di Pinto di Blu).mp3","file":"Gipsy Kings - Volare (Nel Blu di Pinto di Blu).mp3","title":"Volare (Nel Blu di Pinto di Blu)","artist":"Gipsy Kings","year":1999},{"id":"Gitte Hænning - Ich will 'nen Cowboy als Mann.mp3","file":"Gitte Hænning - Ich will 'nen Cowboy als Mann.mp3","title":"Ich will 'nen Cowboy als Mann","artist":"Gitte Hænning","year":2015},{"id":"Glenn Miller - In the Mood (2006 Remastered Version).mp3","file":"Glenn Miller - In the Mood (2006 Remastered Version).mp3","title":"In the Mood (2006 Remastered Version)","artist":"Glenn Miller","year":1939},{"id":"Gotye - Somebody That I Used To Know.mp3","file":"Gotye - Somebody That I Used To Know.mp3","title":"Somebody That I Used To Know","artist":"Gotye, Kimbra","year":2011},{"id":"Guns N' Roses - Sweet Child O' Mine.mp3","file":"Guns N' Roses - Sweet Child O' Mine.mp3","title":"Sweet Child O' Mine","artist":"Guns N' Roses","year":2004},{"id":"Haddaway - What Is Love (7 Mix).mp3","file":"Haddaway - What Is Love (7 Mix).mp3","title":"What Is Love (7\" Mix)","artist":"Haddaway","year":2007},{"id":"Harry Belafonte - Day-O (The Banana Boat Song).mp3","file":"Harry Belafonte - Day-O (The Banana Boat Song).mp3","title":"Day-O (The Banana Boat Song)","artist":"Harry Belafonte","year":2001},{"id":"Harry Styles - Adore You.mp3","file":"Harry Styles - Adore You.mp3","title":"Adore You","artist":"Harry Styles","year":2019},{"id":"Heintje - Mama.mp3","file":"Heintje - Mama.mp3","title":"Mama","artist":"Heintje","year":2014},{"id":"Helene Fischer - Atemlos durch die Nacht.mp3","file":"Helene Fischer - Atemlos durch die Nacht.mp3","title":"Atemlos durch die Nacht","artist":"Helene Fischer","year":2013},{"id":"Herbert Grönemeyer - Männer.mp3","file":"Herbert Grönemeyer - Männer.mp3","title":"Männer","artist":"Herbert Grönemeyer","year":2016},{"id":"House of Pain - Jump Around (LP Version).mp3","file":"House of Pain - Jump Around (LP Version).mp3","title":"Jump Around (LP Version)","artist":"House of Pain","year":1992},{"id":"Ich + Ich - Vom selben Stern (Radio Edit).mp3","file":"Ich + Ich - Vom selben Stern (Radio Edit).mp3","title":"Vom selben Stern (Radio Edit)","artist":"Ich + Ich","year":2008},{"id":"Icona Pop - I Love It (feat. Charli XCX).mp3","file":"Icona Pop - I Love It (feat. Charli XCX).mp3","title":"I Love It (feat. Charli XCX)","artist":"Icona Pop, Charli xcx","year":2012},{"id":"Imagine Dragons - Thunder.mp3","file":"Imagine Dragons - Thunder.mp3","title":"Thunder","artist":"Imagine Dragons","year":2017},{"id":"James Brown - I Got You (I Feel Good).mp3","file":"James Brown - I Got You (I Feel Good).mp3","title":"I Got You (I Feel Good)","artist":"James Brown","year":2015},{"id":"Jason Derulo - Whatcha Say.mp3","file":"Jason Derulo - Whatcha Say.mp3","title":"Whatcha Say","artist":"Jason Derulo","year":2010},{"id":"JAY Z - Numb Encore.mp3","file":"JAY Z - Numb Encore.mp3","title":"Numb / Encore","artist":"JAY Z, Linkin Park","year":2006},{"id":"Jennifer Lopez - If You Had My Love.mp3","file":"Jennifer Lopez - If You Had My Love.mp3","title":"If You Had My Love","artist":"Jennifer Lopez","year":1999},{"id":"Jessie J - Price Tag.mp3","file":"Jessie J - Price Tag.mp3","title":"Price Tag","artist":"Jessie J, B.o.B","year":2011},{"id":"Jimmy Cliff - You Can Get It If You Really Want.mp3","file":"Jimmy Cliff - You Can Get It If You Really Want.mp3","title":"You Can Get It If You Really Want","artist":"Jimmy Cliff","year":2007},{"id":"John Legend - All of Me.mp3","file":"John Legend - All of Me.mp3","title":"All of Me","artist":"John Legend","year":2013},{"id":"Johnny Cash - Ring of Fire.mp3","file":"Johnny Cash - Ring of Fire.mp3","title":"Ring of Fire","artist":"Johnny Cash","year":1963},{"id":"Joseìto Fernàndez - Guajira Guantanamera.mp3","file":"Joseìto Fernàndez - Guajira Guantanamera.mp3","title":"Guajira Guantanamera","artist":"Joseìto Fernàndez","year":2015},{"id":"Journey - Don't Stop Believin'.mp3","file":"Journey - Don't Stop Believin'.mp3","title":"Don't Stop Believin'","artist":"Journey","year":2001},{"id":"Jürgen Drews - Ein Bett im Kornfeld.mp3","file":"Jürgen Drews - Ein Bett im Kornfeld.mp3","title":"Ein Bett im Kornfeld","artist":"Jürgen Drews","year":2008},{"id":"Jürgen Marcus - Eine neue Liebe ist wie ein neues Leben.mp3","file":"Jürgen Marcus - Eine neue Liebe ist wie ein neues Leben.mp3","title":"Eine neue Liebe ist wie ein neues Leben","artist":"Jürgen Marcus","year":2008},{"id":"Justin Bieber - Anyone.mp3","file":"Justin Bieber - Anyone.mp3","title":"Anyone","artist":"Justin Bieber","year":2021},{"id":"Kanye West - Gold Digger.mp3","file":"Kanye West - Gold Digger.mp3","title":"Gold Digger","artist":"Kanye West, Jamie Foxx","year":2005},{"id":"Kaoma - Lambada (Original Version 1989).mp3","file":"Kaoma - Lambada (Original Version 1989).mp3","title":"Lambada (Original Version 1989)","artist":"Kaoma","year":1989},{"id":"Karat - Über sieben Brücken musst du gehn.mp3","file":"Karat - Über sieben Brücken musst du gehn.mp3","title":"Über sieben Brücken musst du gehn","artist":"Karat","year":2007},{"id":"Katy Perry - Firework.mp3","file":"Katy Perry - Firework.mp3","title":"Firework","artist":"Katy Perry","year":2012},{"id":"Kc & The Sunshine Band - Give It Up.mp3","file":"Kc & The Sunshine Band - Give It Up.mp3","title":"Give It Up","artist":"Kc & The Sunshine Band","year":2007},{"id":"Kelly Clarkson - Because of You.mp3","file":"Kelly Clarkson - Because of You.mp3","title":"Because of You","artist":"Kelly Clarkson","year":2009},{"id":"Kenny Rogers & Dolly Parton - All I Have To Do Is Dream.mp3","file":"Kenny Rogers & Dolly Parton - All I Have To Do Is Dream.mp3","title":"All I Have To Do Is Dream","artist":"Kenny Rogers & Dolly Parton","year":2005},{"id":"Kim Carnes - Bette Davis Eyes.mp3","file":"Kim Carnes - Bette Davis Eyes.mp3","title":"Bette Davis Eyes","artist":"Kim Carnes","year":1993},{"id":"Klaus Lage - 1000 und 1 Nacht (Remastered 2008).mp3","file":"Klaus Lage - 1000 und 1 Nacht (Remastered 2008).mp3","title":"1000 und 1 Nacht (Remastered 2008)","artist":"Klaus Lage","year":2008},{"id":"Kool & The Gang - Celebration.mp3","file":"Kool & The Gang - Celebration.mp3","title":"Celebration","artist":"Kool & The Gang","year":2007},{"id":"Kraftwerk - Autobahn.mp3","file":"Kraftwerk - Autobahn.mp3","title":"Autobahn","artist":"Kraftwerk","year":2017},{"id":"Lady Gaga - Poker Face.mp3","file":"Lady Gaga - Poker Face.mp3","title":"Poker Face","artist":"Lady Gaga","year":2008},{"id":"Lady Gaga - Shallow (Radio Edit).mp3","file":"Lady Gaga - Shallow (Radio Edit).mp3","title":"Shallow (Radio Edit)","artist":"Lady Gaga, Bradley Cooper","year":2018},{"id":"Las Ketchup - The Ketchup Song (Aserejé) (Spanglish Version).mp3","file":"Las Ketchup - The Ketchup Song (Aserejé) (Spanglish Version).mp3","title":"The Ketchup Song (Aserejé) (Spanglish Version)","artist":"Las Ketchup","year":2018},{"id":"Led Zeppelin - Whole Lotta Love.mp3","file":"Led Zeppelin - Whole Lotta Love.mp3","title":"Whole Lotta Love","artist":"Led Zeppelin","year":2009},{"id":"Lenny Kravitz - Fly Away.mp3","file":"Lenny Kravitz - Fly Away.mp3","title":"Fly Away","artist":"Lenny Kravitz","year":1998},{"id":"Leo Sayer - When I Need You.mp3","file":"Leo Sayer - When I Need You.mp3","title":"When I Need You","artist":"Leo Sayer","year":2009},{"id":"Lewis Capaldi - Someone You Loved.mp3","file":"Lewis Capaldi - Someone You Loved.mp3","title":"Someone You Loved","artist":"Lewis Capaldi","year":2018},{"id":"Limahl - Never Ending Story.mp3","file":"Limahl - Never Ending Story.mp3","title":"Never Ending Story","artist":"Limahl","year":1996},{"id":"Linda Ronstadt - Blue Bayou.mp3","file":"Linda Ronstadt - Blue Bayou.mp3","title":"Blue Bayou","artist":"Linda Ronstadt","year":2006},{"id":"Lionel Richie - Dancing On The Ceiling.mp3","file":"Lionel Richie - Dancing On The Ceiling.mp3","title":"Dancing On The Ceiling","artist":"Lionel Richie","year":2003},{"id":"Little Eva - The Locomotion.mp3","file":"Little Eva - The Locomotion.mp3","title":"The Locomotion","artist":"Little Eva","year":2007},{"id":"Little Richard - Good Golly Miss Molly.mp3","file":"Little Richard - Good Golly Miss Molly.mp3","title":"Good Golly Miss Molly","artist":"Little Richard","year":2008},{"id":"Loreen - Euphoria.mp3","file":"Loreen - Euphoria.mp3","title":"Euphoria","artist":"Loreen","year":2013},{"id":"Lukas Graham - 7 Years.mp3","file":"Lukas Graham - 7 Years.mp3","title":"7 Years","artist":"Lukas Graham","year":2016},{"id":"Lynyrd Skynyrd - Sweet Home Alabama.mp3","file":"Lynyrd Skynyrd - Sweet Home Alabama.mp3","title":"Sweet Home Alabama","artist":"Lynyrd Skynyrd","year":2006},{"id":"Mabel - Don't Call Me Up.mp3","file":"Mabel - Don't Call Me Up.mp3","title":"Don't Call Me Up","artist":"Mabel","year":2019},{"id":"Macklemore & Ryan Lewis - Can't Hold Us (feat. Ray Dalton).mp3","file":"Macklemore & Ryan Lewis - Can't Hold Us (feat. Ray Dalton).mp3","title":"Can't Hold Us (feat. Ray Dalton)","artist":"Macklemore & Ryan Lewis","year":2013},{"id":"Mad'House - Like a Prayer.mp3","file":"Mad'House - Like a Prayer.mp3","title":"Like a Prayer","artist":"Mad'House","year":2009},{"id":"Madonna - 4 Minutes (feat. Justin Timberlake and Timbaland).mp3","file":"Madonna - 4 Minutes (feat. Justin Timberlake and Timbaland).mp3","title":"4 Minutes (feat. Justin Timberlake and Timbaland)","artist":"Madonna","year":2008},{"id":"Major Lazer - Lean On (feat. MØ & DJ Snake).mp3","file":"Major Lazer - Lean On (feat. MØ & DJ Snake).mp3","title":"Lean On (feat. MØ & DJ Snake)","artist":"Major Lazer, MØ, DJ Snake","year":2015},{"id":"Manfred Mann - Do Wah Diddy Diddy.mp3","file":"Manfred Mann - Do Wah Diddy Diddy.mp3","title":"Do Wah Diddy Diddy","artist":"Manfred Mann","year":1997},{"id":"Manuela - Schuld war nur der Bossa Nova.mp3","file":"Manuela - Schuld war nur der Bossa Nova.mp3","title":"Schuld war nur der Bossa Nova","artist":"Manuela","year":1994},{"id":"Mark Forster - Drei Uhr Nachts.mp3","file":"Mark Forster - Drei Uhr Nachts.mp3","title":"Drei Uhr Nachts","artist":"Mark Forster, LEA","year":2021},{"id":"Mark Morrison - Return of the Mack.mp3","file":"Mark Morrison - Return of the Mack.mp3","title":"Return of the Mack","artist":"Mark Morrison","year":1996},{"id":"Mark Ronson - Valerie (feat. Amy Winehouse) (Version Revisited).mp3","file":"Mark Ronson - Valerie (feat. Amy Winehouse) (Version Revisited).mp3","title":"Valerie (feat. Amy Winehouse) (Version Revisited)","artist":"Mark Ronson, Amy Winehouse","year":2007},{"id":"Markus - Ich will Spass.mp3","file":"Markus - Ich will Spass.mp3","title":"Ich will Spass","artist":"Markus","year":2009},{"id":"Maroon 5 - Moves Like Jagger (Studio Recording From The Voice Performance).mp3","file":"Maroon 5 - Moves Like Jagger (Studio Recording From The Voice Performance).mp3","title":"Moves Like Jagger (Studio Recording From The Voice Performance)","artist":"Maroon 5, Christina Aguilera","year":2011},{"id":"Marvin Gaye - I Heard It Through The Grapevine.mp3","file":"Marvin Gaye - I Heard It Through The Grapevine.mp3","title":"I Heard It Through The Grapevine","artist":"Marvin Gaye","year":2008},{"id":"Matthias Reim - Verdammt Ich lieb' dich.mp3","file":"Matthias Reim - Verdammt Ich lieb' dich.mp3","title":"Verdammt Ich lieb' dich","artist":"Matthias Reim","year":2018},{"id":"Max Giesinger - 80 Millionen.mp3","file":"Max Giesinger - 80 Millionen.mp3","title":"80 Millionen","artist":"Max Giesinger","year":2016},{"id":"Meat Loaf - Paradise By the Dashboard Light.mp3","file":"Meat Loaf - Paradise By the Dashboard Light.mp3","title":"Paradise By the Dashboard Light","artist":"Meat Loaf","year":1977},{"id":"Meghan Trainor - All About That Bass.mp3","file":"Meghan Trainor - All About That Bass.mp3","title":"All About That Bass","artist":"Meghan Trainor","year":2014},{"id":"Michael Holm - Tränen lügen nicht.mp3","file":"Michael Holm - Tränen lügen nicht.mp3","title":"Tränen lügen nicht","artist":"Michael Holm","year":1997},{"id":"MIKA - Relax, Take It Easy.mp3","file":"MIKA - Relax, Take It Easy.mp3","title":"Relax, Take It Easy","artist":"MIKA","year":2007},{"id":"Mike + The Mechanics - The Living Years.mp3","file":"Mike + The Mechanics - The Living Years.mp3","title":"The Living Years","artist":"Mike + The Mechanics","year":1988},{"id":"Miley Cyrus - Wrecking Ball.mp3","file":"Miley Cyrus - Wrecking Ball.mp3","title":"Wrecking Ball","artist":"Miley Cyrus","year":2013},{"id":"Modjo - Lady (Hear Me Tonight).mp3","file":"Modjo - Lady (Hear Me Tonight).mp3","title":"Lady (Hear Me Tonight)","artist":"Modjo","year":2001},{"id":"Mungo Jerry - In The Summertime.mp3","file":"Mungo Jerry - In The Summertime.mp3","title":"In The Summertime","artist":"Mungo Jerry","year":2011},{"id":"Nancy Sinatra - These Boots Are Made For Walkin'.mp3","file":"Nancy Sinatra - These Boots Are Made For Walkin'.mp3","title":"These Boots Are Made For Walkin'","artist":"Nancy Sinatra","year":1966},{"id":"Natalie Imbruglia - Torn.mp3","file":"Natalie Imbruglia - Torn.mp3","title":"Torn","artist":"Natalie Imbruglia","year":2007},{"id":"Neil Diamond - Sweet Caroline.mp3","file":"Neil Diamond - Sweet Caroline.mp3","title":"Sweet Caroline","artist":"Neil Diamond","year":2017},{"id":"Nelly - Dilemma.mp3","file":"Nelly - Dilemma.mp3","title":"Dilemma","artist":"Nelly, Kelly Rowland","year":2008},{"id":"Nena - 99 Luftballons.mp3","file":"Nena - 99 Luftballons.mp3","title":"99 Luftballons","artist":"Nena","year":1998},{"id":"New Radicals - You Get What You Give.mp3","file":"New Radicals - You Get What You Give.mp3","title":"You Get What You Give","artist":"New Radicals","year":1998},{"id":"Nickelback - How You Remind Me.mp3","file":"Nickelback - How You Remind Me.mp3","title":"How You Remind Me","artist":"Nickelback","year":2001},{"id":"Nirvana - Smells Like Teen Spirit.mp3","file":"Nirvana - Smells Like Teen Spirit.mp3","title":"Smells Like Teen Spirit","artist":"Nirvana","year":2006},{"id":"No Doubt - Don't Speak.mp3","file":"No Doubt - Don't Speak.mp3","title":"Don't Speak","artist":"No Doubt","year":2003},{"id":"Oasis - Wonderwall.mp3","file":"Oasis - Wonderwall.mp3","title":"Wonderwall","artist":"Oasis","year":1995},{"id":"Olivia Rodrigo - drivers license.mp3","file":"Olivia Rodrigo - drivers license.mp3","title":"drivers license","artist":"Olivia Rodrigo","year":2021},{"id":"OneRepublic - Counting Stars.mp3","file":"OneRepublic - Counting Stars.mp3","title":"Counting Stars","artist":"OneRepublic","year":2013},{"id":"Outkast - Hey Ya! (Radio Mix Club Mix).mp3","file":"Outkast - Hey Ya! (Radio Mix Club Mix).mp3","title":"Hey Ya! (Radio Mix / Club Mix)","artist":"Outkast","year":2003},{"id":"Owl City - Fireflies.mp3","file":"Owl City - Fireflies.mp3","title":"Fireflies","artist":"Owl City","year":2009},{"id":"O-Zone - Dragostea Din Tei.mp3","file":"O-Zone - Dragostea Din Tei.mp3","title":"Dragostea Din Tei","artist":"O-Zone","year":2004},{"id":"P!nk - Just Give Me a Reason (feat. Nate Ruess).mp3","file":"P!nk - Just Give Me a Reason (feat. Nate Ruess).mp3","title":"Just Give Me a Reason (feat. Nate Ruess)","artist":"P!nk, Nate Ruess","year":2012},{"id":"Patrick Hernandez - Born to Be Alive (The Original).mp3","file":"Patrick Hernandez - Born to Be Alive (The Original).mp3","title":"Born to Be Alive (The Original)","artist":"Patrick Hernandez","year":1979},{"id":"Paul Simon - You Can Call Me Al.mp3","file":"Paul Simon - You Can Call Me Al.mp3","title":"You Can Call Me Al","artist":"Paul Simon","year":2010},{"id":"Percy Sledge - When a Man Loves a Woman.mp3","file":"Percy Sledge - When a Man Loves a Woman.mp3","title":"When a Man Loves a Woman","artist":"Percy Sledge","year":2018},{"id":"Peter Fox - Haus am See.mp3","file":"Peter Fox - Haus am See.mp3","title":"Haus am See","artist":"Peter Fox","year":2008},{"id":"Peter Kraus - Sugar-Baby.mp3","file":"Peter Kraus - Sugar-Baby.mp3","title":"Sugar-Baby","artist":"Peter Kraus","year":2006},{"id":"Peter Schilling - Major Tom (...völlig losgelöst).mp3","file":"Peter Schilling - Major Tom (...völlig losgelöst).mp3","title":"Major Tom (...völlig losgelöst)","artist":"Peter Schilling","year":2006},{"id":"Pharrell Williams - Happy (From Despicable Me 2).mp3","file":"Pharrell Williams - Happy (From Despicable Me 2).mp3","title":"Happy (From \"Despicable Me 2\")","artist":"Pharrell Williams","year":2013},{"id":"Plastic Bertrand - Ca plane pour moi.mp3","file":"Plastic Bertrand - Ca plane pour moi.mp3","title":"Ca plane pour moi","artist":"Plastic Bertrand","year":1998},{"id":"Portugal. The Man - Feel It Still.mp3","file":"Portugal. The Man - Feel It Still.mp3","title":"Feel It Still","artist":"Portugal. The Man","year":2017},{"id":"Post Malone - Circles.mp3","file":"Post Malone - Circles.mp3","title":"Circles","artist":"Post Malone","year":2019},{"id":"Prince - Purple Rain.mp3","file":"Prince - Purple Rain.mp3","title":"Purple Rain","artist":"Prince","year":2005},{"id":"Pur - Abenteuerland.mp3","file":"Pur - Abenteuerland.mp3","title":"Abenteuerland","artist":"Pur","year":2015},{"id":"Queen - Under Pressure.mp3","file":"Queen - Under Pressure.mp3","title":"Under Pressure","artist":"Queen, David Bowie","year":2018},{"id":"R.E.M. - Everybody Hurts.mp3","file":"R.E.M. - Everybody Hurts.mp3","title":"Everybody Hurts","artist":"R.E.M.","year":2016},{"id":"Rammstein - Engel.mp3","file":"Rammstein - Engel.mp3","title":"Engel","artist":"Rammstein","year":2018},{"id":"Red Hot Chili Peppers - Under the Bridge.mp3","file":"Red Hot Chili Peppers - Under the Bridge.mp3","title":"Under the Bridge","artist":"Red Hot Chili Peppers","year":1991},{"id":"Rednex - Cotton Eye Joe.mp3","file":"Rednex - Cotton Eye Joe.mp3","title":"Cotton Eye Joe","artist":"Rednex","year":2014},{"id":"Reel 2 Real - I Like To Move It (feat. The Mad Stuntman) (Erick More Album Mix).mp3","file":"Reel 2 Real - I Like To Move It (feat. The Mad Stuntman) (Erick More Album Mix).mp3","title":"I Like To Move It (feat. The Mad Stuntman) (Erick \"More\" Album Mix)","artist":"Reel 2 Real, The Mad Stuntman","year":1994},{"id":"Reinhard Mey - Über den Wolken.mp3","file":"Reinhard Mey - Über den Wolken.mp3","title":"Über den Wolken","artist":"Reinhard Mey","year":2002},{"id":"Richard Marx - Right Here Waiting.mp3","file":"Richard Marx - Right Here Waiting.mp3","title":"Right Here Waiting","artist":"Richard Marx","year":1997},{"id":"Rick James - Super Freak.mp3","file":"Rick James - Super Freak.mp3","title":"Super Freak","artist":"Rick James","year":2002},{"id":"Rio Reiser - König Von Deutschland.mp3","file":"Rio Reiser - König Von Deutschland.mp3","title":"König Von Deutschland","artist":"Rio Reiser","year":2015},{"id":"Ritchie Valens - La Bamba.mp3","file":"Ritchie Valens - La Bamba.mp3","title":"La Bamba","artist":"Ritchie Valens","year":2004},{"id":"Robbie Williams - Feel.mp3","file":"Robbie Williams - Feel.mp3","title":"Feel","artist":"Robbie Williams","year":2006},{"id":"Robin Thicke - Blurred Lines.mp3","file":"Robin Thicke - Blurred Lines.mp3","title":"Blurred Lines","artist":"Robin Thicke, T.I., Pharrell Williams","year":2013},{"id":"Roxette - Joyride.mp3","file":"Roxette - Joyride.mp3","title":"Joyride","artist":"Roxette","year":2009},{"id":"Roy Orbison - Oh, Pretty Woman.mp3","file":"Roy Orbison - Oh, Pretty Woman.mp3","title":"Oh, Pretty Woman","artist":"Roy Orbison","year":2014},{"id":"Rudi Carrell - Wann wird's mal wieder richtig Sommer (Original Mix).mp3","file":"Rudi Carrell - Wann wird's mal wieder richtig Sommer (Original Mix).mp3","title":"Wann wird's mal wieder richtig Sommer (Original Mix)","artist":"Rudi Carrell","year":2014},{"id":"Rufus - Ain't Nobody.mp3","file":"Rufus - Ain't Nobody.mp3","title":"Ain't Nobody","artist":"Rufus, Chaka Khan","year":2008},{"id":"Rupert Holmes - Escape (The Pina Colada Song).mp3","file":"Rupert Holmes - Escape (The Pina Colada Song).mp3","title":"Escape (The Pina Colada Song)","artist":"Rupert Holmes","year":2007},{"id":"Sam Cooke - (What A) Wonderful World  (Mono).mp3","file":"Sam Cooke - (What A) Wonderful World  (Mono).mp3","title":"(What A) Wonderful World  (Mono)","artist":"Sam Cooke","year":2020},{"id":"Sam the Sham & The Pharaohs - Wooly Bully.mp3","file":"Sam the Sham & The Pharaohs - Wooly Bully.mp3","title":"Wooly Bully","artist":"Sam the Sham & The Pharaohs","year":2014},{"id":"Scorpions - Wind of Change.mp3","file":"Scorpions - Wind of Change.mp3","title":"Wind of Change","artist":"Scorpions","year":2011},{"id":"SDP - Die Nacht von Freitag auf Montag.mp3","file":"SDP - Die Nacht von Freitag auf Montag.mp3","title":"Die Nacht von Freitag auf Montag","artist":"SDP, Sido","year":2012},{"id":"Shaggy - It Wasn't Me.mp3","file":"Shaggy - It Wasn't Me.mp3","title":"It Wasn't Me","artist":"Shaggy, Ricardo Ducent","year":2008},{"id":"Shakira - Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single).mp3","file":"Shakira - Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single).mp3","title":"Waka Waka (This Time for Africa) [The Official 2010 FIFA World Cup (TM) Song] (feat. Freshlyground) (Single)","artist":"Shakira, Freshlyground","year":2010},{"id":"Shawn Mendes - Señorita.mp3","file":"Shawn Mendes - Señorita.mp3","title":"Señorita","artist":"Shawn Mendes, Camila Cabello","year":2019},{"id":"Sia - Cheap Thrills.mp3","file":"Sia - Cheap Thrills.mp3","title":"Cheap Thrills","artist":"Sia","year":2016},{"id":"Silbermond - Das Beste.mp3","file":"Silbermond - Das Beste.mp3","title":"Das Beste","artist":"Silbermond","year":2006},{"id":"Simply Red - Holding Back the Years (2008 Remaster).mp3","file":"Simply Red - Holding Back the Years (2008 Remaster).mp3","title":"Holding Back the Years (2008 Remaster)","artist":"Simply Red","year":2008},{"id":"Sinéad O'Connor - Nothing Compares 2 U.mp3","file":"Sinéad O'Connor - Nothing Compares 2 U.mp3","title":"Nothing Compares 2 U","artist":"Sinéad O'Connor","year":1990},{"id":"Sister Sledge - We Are Family (1995 Remaster).mp3","file":"Sister Sledge - We Are Family (1995 Remaster).mp3","title":"We Are Family (1995 Remaster)","artist":"Sister Sledge","year":1992},{"id":"Siw Malmkvist - Liebeskummer lohnt sich nicht.mp3","file":"Siw Malmkvist - Liebeskummer lohnt sich nicht.mp3","title":"Liebeskummer lohnt sich nicht","artist":"Siw Malmkvist","year":2004},{"id":"SNoW - Informer.mp3","file":"SNoW - Informer.mp3","title":"Informer","artist":"SNoW","year":2006},{"id":"Sonny & Cher - I Got You Babe.mp3","file":"Sonny & Cher - I Got You Babe.mp3","title":"I Got You Babe","artist":"Sonny & Cher","year":2015},{"id":"Sophie Ellis-Bextor - Murder On The Dancefloor.mp3","file":"Sophie Ellis-Bextor - Murder On The Dancefloor.mp3","title":"Murder On The Dancefloor","artist":"Sophie Ellis-Bextor","year":2001},{"id":"Spice Girls - Stop.mp3","file":"Spice Girls - Stop.mp3","title":"Stop","artist":"Spice Girls","year":1997},{"id":"Spider Murphy Gang - Skandal im Sperrbezirk.mp3","file":"Spider Murphy Gang - Skandal im Sperrbezirk.mp3","title":"Skandal im Sperrbezirk","artist":"Spider Murphy Gang","year":2003},{"id":"Sportfreunde Stiller - Ein Kompliment.mp3","file":"Sportfreunde Stiller - Ein Kompliment.mp3","title":"Ein Kompliment","artist":"Sportfreunde Stiller","year":2002},{"id":"Steppenwolf - Born To Be Wild.mp3","file":"Steppenwolf - Born To Be Wild.mp3","title":"Born To Be Wild","artist":"Steppenwolf","year":2014},{"id":"Stevie Wonder - Part-Time Lover.mp3","file":"Stevie Wonder - Part-Time Lover.mp3","title":"Part-Time Lover","artist":"Stevie Wonder","year":1994},{"id":"Sylvester - You Make Me Feel (Mighty Real).mp3","file":"Sylvester - You Make Me Feel (Mighty Real).mp3","title":"You Make Me Feel (Mighty Real)","artist":"Sylvester","year":2020},{"id":"Taio Cruz - Hangover.mp3","file":"Taio Cruz - Hangover.mp3","title":"Hangover","artist":"Taio Cruz, Flo Rida","year":2011},{"id":"The Bangles - Manic Monday.mp3","file":"The Bangles - Manic Monday.mp3","title":"Manic Monday","artist":"The Bangles","year":2003},{"id":"The Beach Boys - Good Vibrations.mp3","file":"The Beach Boys - Good Vibrations.mp3","title":"Good Vibrations","artist":"The Beach Boys","year":2012},{"id":"The Beach Boys - Surfin' U.S.A. (Mono).mp3","file":"The Beach Boys - Surfin' U.S.A. (Mono).mp3","title":"Surfin' U.S.A. (Mono)","artist":"The Beach Boys","year":2012},{"id":"The Beatles - Get Back (Remastered 2009).mp3","file":"The Beatles - Get Back (Remastered 2009).mp3","title":"Get Back (Remastered 2009)","artist":"The Beatles","year":2015},{"id":"The Chordettes - Lollipop.mp3","file":"The Chordettes - Lollipop.mp3","title":"Lollipop","artist":"The Chordettes","year":2010},{"id":"The Commodores - Easy.mp3","file":"The Commodores - Easy.mp3","title":"Easy","artist":"The Commodores","year":2017},{"id":"The Cranberries - Zombie.mp3","file":"The Cranberries - Zombie.mp3","title":"Zombie","artist":"The Cranberries","year":1994},{"id":"The Cure - Friday I'm In Love.mp3","file":"The Cure - Friday I'm In Love.mp3","title":"Friday I'm In Love","artist":"The Cure","year":1992},{"id":"The Four Seasons - December, 1963 (Oh What a Night!).mp3","file":"The Four Seasons - December, 1963 (Oh What a Night!).mp3","title":"December, 1963 (Oh What a Night!)","artist":"The Four Seasons","year":2003},{"id":"The Hollies - He Ain't Heavy He's My Brother.mp3","file":"The Hollies - He Ain't Heavy He's My Brother.mp3","title":"He Ain't Heavy He's My Brother","artist":"The Hollies","year":1993},{"id":"The Human League - Don't You Want Me.mp3","file":"The Human League - Don't You Want Me.mp3","title":"Don't You Want Me","artist":"The Human League","year":2003},{"id":"The Kinks - Lola.mp3","file":"The Kinks - Lola.mp3","title":"Lola","artist":"The Kinks","year":2013},{"id":"The Monkees - I'm a Believer.mp3","file":"The Monkees - I'm a Believer.mp3","title":"I'm a Believer","artist":"The Monkees","year":2008},{"id":"The Police - Every Breath You Take (Remastered 2003).mp3","file":"The Police - Every Breath You Take (Remastered 2003).mp3","title":"Every Breath You Take (Remastered 2003)","artist":"The Police","year":2007},{"id":"The Rolling Stones - (I Can't Get No) Satisfaction (Mono).mp3","file":"The Rolling Stones - (I Can't Get No) Satisfaction (Mono).mp3","title":"(I Can't Get No) Satisfaction (Mono)","artist":"The Rolling Stones","year":2010},{"id":"The Rolling Stones - Start Me Up (Remastered 2009).mp3","file":"The Rolling Stones - Start Me Up (Remastered 2009).mp3","title":"Start Me Up (Remastered 2009)","artist":"The Rolling Stones","year":2009},{"id":"The Supremes - You Can't Hurry Love.mp3","file":"The Supremes - You Can't Hurry Love.mp3","title":"You Can't Hurry Love","artist":"The Supremes","year":2013},{"id":"The Trammps - Disco Inferno.mp3","file":"The Trammps - Disco Inferno.mp3","title":"Disco Inferno","artist":"The Trammps","year":2005},{"id":"The Verve - Bitter Sweet Symphony (Remastered 2016).mp3","file":"The Verve - Bitter Sweet Symphony (Remastered 2016).mp3","title":"Bitter Sweet Symphony (Remastered 2016)","artist":"The Verve","year":2017},{"id":"The Weeknd - Blinding Lights.mp3","file":"The Weeknd - Blinding Lights.mp3","title":"Blinding Lights","artist":"The Weeknd","year":2019},{"id":"Thelma Houston - Don't Leave Me This Way.mp3","file":"Thelma Houston - Don't Leave Me This Way.mp3","title":"Don't Leave Me This Way","artist":"Thelma Houston","year":2018},{"id":"Tic Tac Toe - Warum.mp3","file":"Tic Tac Toe - Warum.mp3","title":"Warum?","artist":"Tic Tac Toe","year":1997},{"id":"Tim Bendzko - Nur noch kurz die Welt retten.mp3","file":"Tim Bendzko - Nur noch kurz die Welt retten.mp3","title":"Nur noch kurz die Welt retten","artist":"Tim Bendzko","year":2011},{"id":"Tina Turner - The Best.mp3","file":"Tina Turner - The Best.mp3","title":"The Best","artist":"Tina Turner","year":2008},{"id":"Tokio Hotel - Durch den Monsun (Radio Mix).mp3","file":"Tokio Hotel - Durch den Monsun (Radio Mix).mp3","title":"Durch den Monsun (Radio Mix)","artist":"Tokio Hotel","year":2010},{"id":"Tom Jones - She's A Lady.mp3","file":"Tom Jones - She's A Lady.mp3","title":"She's A Lady","artist":"Tom Jones","year":2017},{"id":"Tones and I - Dance Monkey.mp3","file":"Tones and I - Dance Monkey.mp3","title":"Dance Monkey","artist":"Tones and I","year":2019},{"id":"Toploader - Dancing in the Moonlight.mp3","file":"Toploader - Dancing in the Moonlight.mp3","title":"Dancing in the Moonlight","artist":"Toploader","year":2009},{"id":"Torfrock - Beinhart (Single Version).mp3","file":"Torfrock - Beinhart (Single Version).mp3","title":"Beinhart (Single Version)","artist":"Torfrock","year":2006},{"id":"Toto - Africa.mp3","file":"Toto - Africa.mp3","title":"Africa","artist":"Toto","year":1982},{"id":"T'pau - China In Your Hand (Single Version).mp3","file":"T'pau - China In Your Hand (Single Version).mp3","title":"China In Your Hand (Single Version)","artist":"T'pau","year":2007},{"id":"Tracy Chapman - Fast Car.mp3","file":"Tracy Chapman - Fast Car.mp3","title":"Fast Car","artist":"Tracy Chapman","year":1988},{"id":"Train - Hey, Soul Sister.mp3","file":"Train - Hey, Soul Sister.mp3","title":"Hey, Soul Sister","artist":"Train","year":2009},{"id":"Trude Herr - Ich will keine Schokolade.mp3","file":"Trude Herr - Ich will keine Schokolade.mp3","title":"Ich will keine Schokolade","artist":"Trude Herr","year":1998},{"id":"U96 - Das Boot.mp3","file":"U96 - Das Boot.mp3","title":"Das Boot","artist":"U96","year":2015},{"id":"Udo Jürgens - Siebzehn Jahr, blondes Haar.mp3","file":"Udo Jürgens - Siebzehn Jahr, blondes Haar.mp3","title":"Siebzehn Jahr, blondes Haar","artist":"Udo Jürgens","year":2001},{"id":"Unheilig - Geboren um zu leben.mp3","file":"Unheilig - Geboren um zu leben.mp3","title":"Geboren um zu leben","artist":"Unheilig","year":2010},{"id":"Van McCoy & The Soul City Symphony - The Hustle.mp3","file":"Van McCoy & The Soul City Symphony - The Hustle.mp3","title":"The Hustle","artist":"Van McCoy & The Soul City Symphony","year":2007},{"id":"Vanilla Ice - Ice Ice Baby.mp3","file":"Vanilla Ice - Ice Ice Baby.mp3","title":"Ice Ice Baby","artist":"Vanilla Ice","year":2009},{"id":"Vaya Con Dios - Nah Neh Nah.mp3","file":"Vaya Con Dios - Nah Neh Nah.mp3","title":"Nah Neh Nah","artist":"Vaya Con Dios","year":2024},{"id":"Wencke Myhre - Er hat ein knallrotes Gummiboot.mp3","file":"Wencke Myhre - Er hat ein knallrotes Gummiboot.mp3","title":"Er hat ein knallrotes Gummiboot","artist":"Wencke Myhre","year":2011},{"id":"Wet Wet Wet - Love Is All Around (From Four Weddings And A Funeral).mp3","file":"Wet Wet Wet - Love Is All Around (From Four Weddings And A Funeral).mp3","title":"Love Is All Around (From \"Four Weddings And A Funeral\")","artist":"Wet Wet Wet","year":2007},{"id":"Whitney Houston - I Wanna Dance with Somebody (Who Loves Me).mp3","file":"Whitney Houston - I Wanna Dance with Somebody (Who Loves Me).mp3","title":"I Wanna Dance with Somebody (Who Loves Me)","artist":"Whitney Houston","year":2009},{"id":"Will Smith - Gettin' Jiggy Wit It.mp3","file":"Will Smith - Gettin' Jiggy Wit It.mp3","title":"Gettin' Jiggy Wit It","artist":"Will Smith","year":2002},{"id":"Wincent Weiss - Die guten Zeiten.mp3","file":"Wincent Weiss - Die guten Zeiten.mp3","title":"Die guten Zeiten","artist":"Wincent Weiss, Johannes Oerding","year":2021},{"id":"Wolfgang Petry - Wahnsinn.mp3","file":"Wolfgang Petry - Wahnsinn.mp3","title":"Wahnsinn","artist":"Wolfgang Petry","year":2016},{"id":"Yazoo - Don't Go.mp3","file":"Yazoo - Don't Go.mp3","title":"Don't Go","artist":"Yazoo","year":2008},{"id":"50 Cent - In Da Club.mp3","file":"50 Cent - In Da Club.mp3","title":"In Da Club","artist":"50 Cent","year":2003},{"id":"ABBA - Waterloo.mp3","file":"ABBA - Waterloo.mp3","title":"Waterloo","artist":"ABBA","year":2008},{"id":"Ace of Base - All That She Wants.mp3","file":"Ace of Base - All That She Wants.mp3","title":"All That She Wants","artist":"Ace of Base","year":2008},{"id":"Adele - Set Fire to the Rain.mp3","file":"Adele - Set Fire to the Rain.mp3","title":"Set Fire to the Rain","artist":"Adele","year":2011}]}