// ==UserScript==
// @name WaniKani Mnemonic Artwork
// @namespace mnemonicartwork
// @version 3.2
// @description Adds the artwork by AmandaBear to radical and kanji mnemonics (currently for level 1-3).
// @author Sinyaven
// @match https://www.wanikani.com/radicals/*
// @match https://www.wanikani.com/kanji/*
// @match https://preview.wanikani.com/radicals/*
// @match https://preview.wanikani.com/kanji/*
// @match https://www.wanikani.com/review/session
// @match https://preview.wanikani.com/review/session
// @match https://www.wanikani.com/lesson/session
// @match https://preview.wanikani.com/lesson/session
// @grant none
// ==/UserScript==
(function() {
"use strict";
/* global $ */
/* eslint no-multi-spaces: "off" */
//////////////
// settings //
//////////////
const ENABLE_RESIZE_BY_DRAGGING = true;
//////////////
function init() {
if (document.URL.includes("wanikani.com/radicals/") || document.URL.includes("wanikani.com/kanji/")) showOnItemPage();
if (document.URL.includes("wanikani.com/lesson/session")) showOnLessonPage();
if (document.URL.includes("wanikani.com/review/session")) showOnReviewPage();
}
function showOnItemPage() {
let subjectId = document.querySelector("meta[name=subject_id]").content;
let section = artworkSection(subjectId);
if (!section) return;
document.getElementById("amalgamations").insertAdjacentElement("beforebegin", section);
}
function showOnLessonPage() {
$.jStorage.listenKeyChange("l/currentLesson", handleLessonChange);
handleLessonChange();
showOnReviewPage(); // for quiz after lesson
}
function showOnReviewPage() {
let dItemInfo = document.getElementById("item-info-col2");
let observer = new MutationObserver(handleReviewMutation);
observer.observe(dItemInfo, {childList: true});
addCss();
}
function handleLessonChange() {
document.querySelectorAll(".mnemonic-artwork").forEach(s => s.remove());
let currentItem = $.jStorage.get("l/currentLesson");
if (!currentItem) return;
let type = ["rad", "kan"].find(s => currentItem[s]);
if (!type) return;
let section = artworkSection(currentItem.id);
if (!section) return;
let dMeaning = document.getElementById("supplement-" + type + "-meaning-mne") || document.getElementById("supplement-" + type + "-name-mne");
let dReading = document.getElementById("supplement-" + type + "-reading-mne");
if (dMeaning) dMeaning.parentElement.appendChild(section);
if (dReading) dReading.parentElement.appendChild(section.cloneNode(true));
}
function handleReviewMutation(mutations) {
let sMeaningMnemonic = mutations.flatMap(m => Array.from(m.addedNodes)).find(n => n.id === "item-info-meaning-mnemonic");
if (!sMeaningMnemonic) return;
let subjectId = currentReviewItem().id;
let section = artworkSection(subjectId);
if (!section) return;
sMeaningMnemonic.parentElement.appendChild(section);
}
function artworkSection(subjectId) {
let artworkUrl = ARTWORK_URLS[subjectId];
if (!artworkUrl) return null;
let section = document.createElement("section");
let heading = document.createElement("h2");
let image = document.createElement("img");
section.classList.add("mnemonic-artwork");
heading.innerText = "Mnemonic Artwork";
image.src = artworkUrl;
section.appendChild(heading);
section.appendChild(image);
if (ENABLE_RESIZE_BY_DRAGGING) {
let currentMax = parseInt(localStorage.getItem("mnemonicArtworkMaxSize")) || 900;
makeMaxResizable(image, currentMax).afterResize(m => localStorage.setItem("mnemonicArtworkMaxSize", m));
}
return section;
}
function makeMaxResizable(element, currentMax, lowerBound = 40) {
let size = 0;
let max = currentMax;
let oldMax = currentMax;
let callback = () => {};
let pointers = [{id: NaN, x: 0, y: 0}]; // image origin is always a pointer (scaling center)
function getDistanceSum(e) {
removePointer(e);
addPointer(e);
function length(p1, p2) { let d = [p1.x - p2.x, p1.y - p2.y]; return Math.sqrt(d[0] * d[0] + d[1] * d[1]); }
return pointers.reduce((total, p1) => pointers.reduce((l, p2) => l + length(p1, p2), total), 0);
//return pointers.reduce(([len, lastP], p) => [len + length(lastP, p), p], [0, pointers[pointers.length - 1]])[0]; // old version using circumference - order dependent! => not usable if pointers.length > 3
};
function removePointer(e) {
if (e) pointers = pointers.filter(p => p.id !== e.pointerId);
}
function addPointer(e) {
if (!e) return;
let rect = element.getBoundingClientRect();
pointers.push({id: e.pointerId, x: e.clientX - rect.left, y: e.clientY - rect.top});
}
function startResizing(e) {
if (e.button !== 0) return;
size = getDistanceSum(e);
element.addEventListener("pointermove", doResizing);
element.addEventListener("pointerup", endResizing);
element.addEventListener("pointercancel", cancelResizing);
element.setPointerCapture(e.pointerId);
e.preventDefault();
}
function doResizing(e) {
if (!(e.buttons & 1)) return;
let newSize = getDistanceSum(e);
max *= newSize / size;
size = newSize;
updateMax();
};
function endResizing(e) {
doResizing(e);
max = Math.min(max, element.parentElement.clientWidth, element.naturalWidth);
oldMax = Math.max(max, lowerBound);
cancelResizing(e);
callback(max);
}
function cancelResizing(e) {
removePointer(e);
size = getDistanceSum();
if (pointers.length > 1) return;
max = oldMax;
updateMax();
element.removeEventListener("pointermove", doResizing);
element.removeEventListener("pointerup", endResizing);
element.removeEventListener("pointercancel", cancelResizing);
element.releasePointerCapture(e.pointerId);
}
function updateMax() {
let m = Math.max(max, lowerBound);
element.style.maxWidth = `min(${m}px, 100%)`;
element.style.maxHeight = m + "px";
};
updateMax();
element.style.touchAction = "pan-x pan-y";
element.addEventListener("pointerdown", startResizing);
return {afterResize: f => { callback = f; }};
}
function currentReviewItem() {
let key = document.URL.includes("lesson") ? "l/currentQuizItem" : "currentItem";
return $.jStorage.get(key);
}
function addCss() {
let style = document.createElement("style");
style.innerText = "#item-info-col2 > [style*='none'] ~ .mnemonic-artwork { display: none; } .mnemonic-artwork { margin-top: 1.25em; }";
document.head.appendChild(style);
}
const ARTWORK_URLS = {
6: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/6/f/56f448502c1e93a871d9c6c47bb1f9a23950b531.png", // Barb (radical)
18: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/9/8/b984c8ab44ddcd5cdcd8e8fc15aa973911ff569b.png", // Big (radical)
25: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/0/8/a081cdec15282359700fba695c6c0850d458248f.png", // Construction (radical)
15: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/c/6/cc657d8404a3baa45854345a18dc4fe2d787c512.png", // Cross (radical)
3: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/f/9/6f91d6d4592bc600a88385e8b330513913cd3d47.png", // Drop (radical)
12: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/8/c/e8ce6b98ac411788cad76e5995f7a34dffe5f4d9.png", // Enter (radical)
2: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/e/f/2ef7e71d4ec80aa260ee2168e3dcaab83b994593.png", // Fins (radical)
1: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/f/7/c/f7c5838e7e5e582075b94aba316118a153f94d0a.png", // Ground (radical)
8762: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/b/a/eba4638e5098178a5c0b7326ccd1504b8851ce63.png", // Gun (radical)
8763: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/b/8/6b81813b3a7039e3207119e02870831b1cf6b65e.png", // Leaf (radical)
8: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/2/6/c26694a2bda280820fe8bbdd8c89b573e653a19e.png", // Lid (radical)
20: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/c/9/2c9404b8417de56a3f3b3012457e5ec296a6baa4.png", // Mountain (radical)
16: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/8/8/78868fc2d54c6a50e195ce3f5a4809dcb038f311.png", // Mouth (radical)
11: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/6/5/a65144d4b621b88d8ee81df44868b7ef70e7e99f.png", // Nine (radical)
9: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/8/6/88603f8339be21c092c7881c88a59d4e83d40e4d.png", // Person (radical)
13: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/3/7/0375e1c89ea0fcc327acd09711b899982abe8734.png", // Power (radical)
14: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/b/2/db25671770b35117bb8909478f748cc1062821ff.png", // Prison (radical)
21: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/e/3/6e3ec179483673d11176fea9c4081147af4948ae.png", // River (radical)
4: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/6/c/86c1d5ad6624a2d53ee51d06ff7ad6ca15828b38.png", // Seven (radical)
5: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/9/a/d9a081dfd719221d039ffa3b77c2cbef0a0c8899.png", // Slide (radical)
8761: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/7/e/77ebda51d9b263aaba242e8f6229dd71c0f80fe9.png", // Stick (radical)
22: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/d/4/2d489d13e8255d2af7b973cb1f126287ade74a50.png", // Sun (radical)
10: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/5/d/a5dd26c7f6d6e43775cfd4fc66a6a91c2f9740a0.png", // Toe (radical)
23: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/9/3/9/939e85bb1b68099b37ea00eeb45444db61b84cd3.png", // Tree (radical)
7: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/4/c/b4cc56fab72f173b5c90db044f781d00c8665a1a.png", // Two (radical)
19: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/3/a/d3a5b4025b98f0b848b0285049bf72195644aa8d.png", // Woman (radical)
450: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/c/4/ec4ddbe69d57915996d1063f0632effec115965c.png", // Above (kanji)
451: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/d/b/ddb17c8ad86dd6b25b05537f7c326f427f013a6a.png", // Below (kanji)
453: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/3/7/5/3756fff2fea8803f2bfb966b7deec5cfd344b8a5.png", // Big (kanji)
457: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/d/e/edea580d713baab6ddade6c956e7a461163b6e3d.png", // Construction (kanji)
446: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/e/e/0ee47a26b1d11dcae4bcb3b13c0d2ed9e8fdc2e9.png", // Eight (kanji)
445: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/c/2/bc27093006486634e38255ef93f0c8cbea82a49d.png", // Enter (kanji)
455: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/8/2/b82fce1d6af88f72b3360b533052eb6961fb0f50.png", // Mountain (kanji)
452: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/6/d/66da9fceb553885477b3ad87f5fa5d997f37f98c.png", // Mouth (kanji)
442: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/7/3/a736d25f2d6d1b4d93902b8f8dbe14a4dbbbedbd.png", // Nine (kanji)
440: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/4/8/648c0ce43bfeaa9b22e59d3181e4ab3915801169.png", // One (kanji)
444: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/6/5/765b4a9e4534b084b1c4e4b5b7b2a8b48cc2315f.png", // Person (kanji)
447: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/f/5/6f50b05bc1abac5a37a4b5d062090015fb8d2737.png", // Power (kanji)
456: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/5/f/c5f4ac0a9b6612d437eba203069bd72fdc94265d.png", // River (kanji)
443: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/7/6/876daae66ceaf20e55c7dfec25f2d3d54a894736.png", // Seven (kanji)
448: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/8/5/68529ef8d15a8dc92137347592e577ad9bb1cc7f.png", // Ten (kanji)
449: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/8/e/18e84975e89ce693126441504cd854a4ac19f972.png", // Three (kanji)
441: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/8/a/08a50f427c412951a4166eed16ddd994e20cf0f2.png", // Two (kanji)
454: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/1/c/c1cd697e343f87cf7141cc84e07a654dd7cbe696.png", // Woman (kanji)
50: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/f/5/0/f507bc41565cdddfa261f205d358a5623b244cac.png", // Book (radical)
36: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/4/7/147bb291fc71a6cf1c12ba544ccf73d37186c49f.png", // Bow (radical)
34: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/f/2/8f2a7514b66a961076a6ccbbd5d148ac581b0287.png", // Child (radical)
126: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/1/f/11f5a899e941931aa79ff26dfb690d8cf0ef171c.png", // Cow (radical)
17: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/4/b/c4b06ceb6ed7289661ff41ac3f452548b4852fb0.png", // Dirt (radical)
47: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/5/f/25fe81a8bb231b9a0d5596f9b9ae71ac567ede7d.png", // Dog (radical)
33: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/3/0/d303e5c62cb84b0d04221e8235eefe3e692f37b3.png", // Evening (radical)
53: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/a/d/cad904d8128694028d9896535c59e57f71b06905.png", // Eye (radical)
46: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/7/6/6764f897baf8fb3c5fbcbc6af846ae379f556ec3.png", // Fire (radical)
39: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/9/4/d94b343ddf3ed46a0fcbea7851b6f93aa6fce623.png", // Five (radical)
37: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/8/6/a863b4f05d8e10b1e001f5bf92d5c4c59ffb80dc.png", // Flag (radical)
38: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/6/2/762b504defc7dbedb3c945a6e1365c765f22a42f.png", // Hair (radical)
41: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/0/b/70bc45bef7723a989ac75e2ea5e0fa55f153f844.png", // Hand (radical)
29: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/c/3/dc3e5139f3a85003cb0b2e0cfc5cddaec2efcaaf.png", // Head (radical)
40: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/2/c/b2ced0619f8a7907172c232c7f1061b4dd72d9ef.png", // Heaven (radical)
48: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/d/0/0d0e64e23ab2eaaa7aaf20e120fe034ab74211d7.png", // King (radical)
28: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/7/8/c784c02ba1858c8443760230ecdb89d0643356bd.png", // Legs (radical)
49: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/0/6/10692b149a69f50c882f5c6beb884dee8e1af908.png", // Middle (radical)
43: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/f/a/5fae5121da1b12a9224fe8410619e02b1a9f1e4b.png", // Moon (radical)
26: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/8/6/a86ba460546c75e96bb2a52e61f5e3a9bd169297.png", // Narwhal (radical)
140: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/0/3/1037e043c736579d46008a722c1d253e61b048f4.png", // Private (radical)
51: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/d/3/5d3c46c4845fdd33737151dc028c619e3092c6fc.png", // Rice Paddy (radical)
35: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/b/5/1b557f6fe4f60f60fce36c910539a2cfce88fe67.png", // Small (radical)
55: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/3/c/83c40ea997af261c5db1bb932f9d6b06fca02524.png", // Stand (radical)
54: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/1/9/0194d7613eaea08a7e17a221f8455079fdbd0d57.png", // Stone (radical)
30: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/a/c/2ac2599531bde883b56ef0e647b215832c66ceea.png", // Stool (radical)
44: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/b/c/4bc564e4a5796d424a625690a8f0acd726632db1.png", // Stop (radical)
27: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/2/7/c27df67a2eb212f8c9b822d5a2fbd12da6972f97.png", // Street (radical)
24: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/3/0/7/30793bcf80e8b6111d9ca8455a20e211c27dfb7b.png", // Sword (radical)
32: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/9/6/096b28482e6ff0faf7316d30ecc41af4848268ea.png", // Thousand (radical)
31: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/6/9/c690f15d9730f18a5dfd3a1eb8bd70d4eaac69df.png", // Treasure (radical)
45: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/d/e/cde99478687beb9cb89ac2f6001adc6429d5955f.png", // Water (radical)
52: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/6/b/86bf0749b564382fa2b2d9d08998ae7dace67928.png", // White (radical)
42: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/e/4/6e4db0ca07a0e8d37a4c23c4db036ad6bc8ae519.png", // Writing (radical)
466: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/4/3/a43c7d1a83faae3c2cf1d7edfdf0e961adfbdffc.png", // Again (kanji)
489: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/a/9/2a92e058146f87aa8cdadebc69a62d2f4527264d.png", // Ball (kanji)
487: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/5/2/a52981f0762dd5b73e4422442096f1c0f32cd6f4.png", // Book (kanji)
462: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/4/0/740842306d70ba092bebdbb7bc9aa897e7ea66e3.png", // Child (kanji)
467: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/e/e/8ee1e4711ff8abc0d756b74f17421adc6f0cc16e.png", // Circle (kanji)
488: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/9/6/f/96f4542992c78cd7c526aa36136d823b072bd14b.png", // Correct (kanji)
459: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/e/b/4eb607c0adc7eeb6c34c803598d0bfde6d26a74b.png", // Dirt (kanji)
481: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/e/b/7eb3bd2d9ce04ddd8faabcc0bf36bdb2c8e58453.png", // Dog (kanji)
461: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/c/3/dc386573343e49686e175b64c5520be699a0952b.png", // Evening (kanji)
483: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/0/8/4086e9feaa5efb63a37fc4aa4e15f1544f618406.png", // Exit (kanji)
492: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/a/d/6ad999f0a311c8b8422c2f55054410d5b3909a3d.png", // Eye (kanji)
465: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/3/5/4359d4403e9a131dc4f8e53870b874fc38377524.png", // Finish (kanji)
480: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/0/a/80ab28c7bc358792bea5e6be968cddee1ad7fa95.png", // Fire (kanji)
470: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/8/b/18bb5230b3ca3ee8e4ed3d8f211d43bf6f0177cf.png", // Five (kanji)
485: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/1/5/715997145a0d8734234196d19a52b56cd25d2730.png", // Four (kanji)
468: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/a/3/6a3d5a037f545bc10f2dc6aeda96ad5997864abe.png", // Genius (kanji)
474: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/9/0/c/90ca0ee459debea88ea3b5dd50f7e6246b9df040.png", // Hand (kanji)
473: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/7/1/571ee157f7c0d6e7cefd2e0b6e7e1a5a3dd6bf44.png", // Heaven (kanji)
482: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/e/a/0eaf6444060ba1c1c4d498698ad863ff410e75d5.png", // King (kanji)
486: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/5/c/55cfc4db04e9f38fad30959196be4c2c0c6ff3f1.png", // Left (kanji)
469: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/f/4/b/f4b24e675854934740f9a925918b53302462ffe1.png", // Middle (kanji)
477: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/3/a/b/3abff51692c7f78e54c2a5a1ee0d8ad3f0a810fd.png", // Moon (kanji)
856: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/c/b/dcb35ca512c302159c27edd6203a1dc6e5f363ba.png", // Repeater (kanji)
490: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/f/e/6feaf51fe85653d3f784555e19201bb51c69cab0.png", // Rice Paddy (kanji)
484: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/8/7/2/8729aa34a0834858fe12106192405bfa0e8b6052.png", // Right (kanji)
471: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/9/1/091d86577e2312aa22a132979e8a6245bd811f5b.png", // Six (kanji)
463: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/f/9/bf927183f3a725518df39d0b933ac2b3aca1b704.png", // Small (kanji)
494: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/a/7/5a7bbbee0840f887b0edea00b6a86ca806efc5af.png", // Stand (kanji)
464: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/f/4/ef4cb9b88ea8932290ccb2a43c9d4bfd0e18bcf1.png", // Street (kanji)
476: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/0/c/a0c707ccfe3766ef3db449f67837f8447963c125.png", // Sun (kanji)
458: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/9/f/7/9f7d83144238b11f8a37b15534e00a247b16612e.png", // Sword (kanji)
460: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/e/d/ced2c4e02dfa9d0e32fd892ffcd5cf3ee1017b0d.png", // Thousand (kanji)
478: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/9/7/e/97e71200683e2e97cf08182bb44e28c5efd198f1.png", // Tree (kanji)
479: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/9/1/5916b5cbeffe1d85a1be73335a49454b9ae45d3a.png", // Water (kanji)
491: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/0/d/50dfb10e74418bc104bc3a0d9a4e4f27c2abee13.png", // White (kanji)
475: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/1/6/c16fc0f6875074d9af1d8fc7f3bb5dc1ad1af855.png", // Writing (kanji)
472: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/6/0/7601080b57624625866d100e4bdd8413439b0640.png", // Yen (kanji)
72: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/6/8/5687d7bfb138f08d5c5a2617531ebd76df5fabca.png", // Arrow (radical)
62: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/5/7/a579b02f9186af87c8ba09ba5974aa24180dba26.png", // Canopy (radical)
66: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/3/c/a3c0f74aac7d2602b52d06a5e5a96b66f7a69bfd.png", // Direction (radical)
73: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/f/5/bf53f58f596bdc6e81c4b79a2a651d0f551e48a2.png", // Door (radical)
61: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/d/6/6d6fae796ea99dc4938a541c6f73e9d15e744875.png", // Dry (radical)
68: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/1/f/d1f1f7c1043a3e924fff1f92f04014872b0cfc44.png", // Father (radical)
63: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/e/8/de8eae964fff0d71f74a1042da4812da7b3b437c.png", // Fingers (radical)
67: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/d/7/ed74ca4045ef4619490787200ca23574ed45a7cf.png", // Fur (radical)
8764: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/4/5/c45f7c4b8247302d8215204a5e0bbd48a0a6cd67.png", // Hat (radical)
65: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/8/c/b8c48b5f09f0fac4189ffe28cfabd639a2cf7cdd.png", // Heart (radical)
210: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/e/b/5eb07323e3182f37fea922d03a23e36017933c28.png", // Life (radical)
238: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/b/2/4b27354b1fe25ff4ee81571fd576a916abebee97.png", // Now (radical)
69: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/e/3/e/e3eefc7a21992189d9350a3d6408d4ec57678498.png", // Old (radical)
64: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/a/e/6aeeab4fdddea16d86d926f86ac3bcd86f15f262.png", // Origin (radical)
87: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/f/6/5f660c463639a45965bceebfa9f1a709ccfce018.png", // Poop (radical)
57: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/a/c/0acbc095ee5e5f039d4b9a3d0fb33e6279b3ff8d.png", // Spoon (radical)
71: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/3/a/b3a8794c9a87a48e21404b94c41953d3236a9496.png", // Task (radical)
102: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/8/0/7808885ac14eca842f300d4d2b6b292e286d0d70.png", // Towel (radical)
8765: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/a/e/2aece8258875a331af0db2fdddc87559a08bd5fc.png", // Triceratops (radical)
60: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/0/2/20274a9d221d7f070b7f47eb931c26efa5ecfc2c.png", // Winter (radical)
526: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/9/4/a9481b2323d3d4d2609e07b6e823bc99b6ed9f5f.png", // Arrow (kanji)
522: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/f/7/1f761f4164d19c6aca5ac9dc3a685dd4e620ee02.png", // City (kanji)
511: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/2/d/b2d998bb4602002738e4474f2b31e3178907bb2a.png", // Cow (kanji)
502: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/b/7/2/b72872729c9e973f8f702c9c9069028b76bd2bc7.png", // Cut (kanji)
510: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/b/4/cb4f9773890b28f56435c4ba6cf2d2557456b7d1.png", // Direction (kanji)
509: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/e/2/de28e4ceee5474aaa35694e5e61944836e5c2a5b.png", // Door (kanji)
505: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/c/b/1cb4ee871feb1511dab3cef180fc5e83b0c4321d.png", // Fat (kanji)
512: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/e/f/cef808a7597cb0d6804d8b7c65a12359a1e6d7ce.png", // Father (kanji)
506: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/7/1/071408aa692785f6cb5a5aad887b22e950081e50.png", // Few (kanji)
504: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/3/6/c36b5e0f8ec2bb8d2aa10c672020e08151684a17.png", // Friend (kanji)
513: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/c/0/f/c0faf9356a98577fff3efc8257d336d42c12ccf0.png", // Fur (kanji)
518: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/6/b/46b58e63fbd9711c77fd2451790d9b8e7d1f07fc.png", // Half (kanji)
508: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/0/6/7/067885e68e1ae83ba01a97ee5d02ca5132d9c435.png", // Heart (kanji)
500: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/6/2/4628df8433107598f896c7af5bbe4a9934dd895c.png", // Inside (kanji)
850: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/3/4/5/34547e5fef4d3960c4aa9d88b2da52f63c1171fe.png", // Life (kanji)
520: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/d/f/2df5efa4fb7cbf100506f0a609ef7df5029b7c7a.png", // Machine (kanji)
524: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/5/a/9/5a99110d6cb59d277dd74f6e434d3e0b9c575648.png", // Mother (kanji)
503: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/1/5/61525454e15337055ed644572dbc2d8025ab2378.png", // Noon (kanji)
517: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/a/d/2/ad2a6cc918928f884de8c4f6797d4211a4ce0def.png", // North (kanji)
497: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/a/3/4a39b5f282a1e66adfad69836f1fa03b0a4130c6.png", // Now (kanji)
519: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/2/f/3/2f3f7f27448c943fca8dbf973adc7d955c4c7506.png", // Old (kanji)
498: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/2/a/72a0410fcd65e6af61cc2d84f75fb22578af075a.png", // Origin (kanji)
521: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/9/f/9/9f99669e963e4f6da22c5891876bcd95fe1b9bb4.png", // Outside (kanji)
501: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/4/8/b/48b3f1a0dcd59c7e45b79edbd291fab13afb4787.png", // Part (kanji)
499: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/3/0/e/30e9ad6b2d1c4b50f154e14aa70487db2a310acc.png", // Public (kanji)
507: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/d/e/0/de0c69896fa17858292ca7d4df80683b24a9e792.png", // Pull (kanji)
514: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/1/4/71434dac9813f40d77c2597dc715ad8c29efea96.png", // Stop (kanji)
525: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/2/3/123cd2a40f52392d06d1a5caa18cdb4c2a574618.png", // Task (kanji)
495: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/7/3/6/736a7785978289283a464c8b3028c2b58dc9e716.png", // Ten Thousand (kanji)
523: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/1/c/8/1c893a84345077def7d28d13f76cb6ea9b9fe9be.png", // Wide (kanji)
516: "https://aws1.discourse-cdn.com/business5/uploads/wanikani_community/original/4X/6/e/9/6e96e4dae99e87c9f4882846929845b0aabb2902.png", // Winter (kanji)
};
init();
})();